ActiveDelphi - Índice do Fórum ActiveDelphi
.: O site do programador Delphi! :.
 
 FAQFAQ   PesquisarPesquisar   MembrosMembros   GruposGrupos   RegistrarRegistrar 
 PerfilPerfil   Entrar e ver Mensagens ParticularesEntrar e ver Mensagens Particulares   EntrarEntrar 

Ajuda Grafico de Linha

 
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi
Exibir mensagem anterior :: Exibir próxima mensagem  
Autor Mensagem
Paskoto
Novato
Novato


Registrado: Terça-Feira, 28 de Agosto de 2012
Mensagens: 15

MensagemEnviada: Seg Jul 22, 2013 3:08 pm    Assunto: Ajuda Grafico de Linha Responder com Citação

Fala Galera....

estou fazendo um grafico de linha que vai exibir as compras por mes de cada categoria de clientes

X - vai ficar os valores
Y - vai ficar MES/Ano (que é dinamico cfme o usuario escolher)
e cada linha vai representar uma categoria

tenho os dados em uma tabela master que contem as categorias e uma tabela slave que contem ano/mes e valor

alguem pode me dar uma luz de como faço o grafico corretamente.

Código:
while not MASTER.Eof do
    begin
      //Grafico de Pizza
      if IsPizza then
      begin
        Color := RGB(Random(256), Random(256), Random(256));
        chtPizza.Series[0].Add(MASTER.FieldByName('VRTOTAL').AsCurrency,MASTER.FieldByName('NOME').AsString,Color)
      end
      else
      //Grafico de Linha
      begin
        //Da um titulo pra Serie2
        if I = 2 then
          (FindComponent('Series'+IntToStr(i)) As TLineSeries).Title := MASTER.FieldByName('CATEGORIA').AsString
        else
        begin
          //Cria as outras series dinamicamente que podem ir de 1 a 11 dependendo do periodo que o user selecionar
           chtLinha.AddSeries(CloneChartSeries(Series2));
          //Passa o titulo pras novas series cfme a categoria
          (FindComponent('Series'+IntToStr(i)) As TLineSeries).Title := MASTER.FieldByName('CATEGORIA').AsString;
          //pega uma cor random para o grafico
           Color := RGB(Random(256), Random(256), Random(256));
          (FindComponent('Series'+IntToStr(i)) As TLineSeries).Color := Color;
        end;
        //Seta a tabela em orde de CATEGORIA/ANOMES
        SLAVE.SetOrder(1);
        //Vai no primeiro registro
        SLAVE.First;
        //Acha o primeiro registro correspondente a categoria da MASTER
        DM.Seek(SLAVE,MASTER.FieldByName('CATEGORIA').AsString);
        //Enquanto nao for fim de arquivo e a categoria for a mesma continua
        while not SLAVE.Eof and
             (SLAVE.FieldByName('CATEGORIA').AsString = MASTER.FieldByName('CATEGORIA').AsString) do
        begin
          {

                Esse foi um teste que em fiz

          //Se for a primeira serie add normal com ano e mes + os valores
          if i = 2 then
            (FindComponent('Series'+IntToStr(i)) As TLineSeries).Add(SLAVE.FieldByName('VALOR').AsCurrency,SLAVE.FieldByName('ANOMES').AsString)
          else
            //senao add somente o Y que seriam os valores assumindo que ele iria pegar os meses ja adcionados no anterior
            (FindComponent('Series'+IntToStr(i)) As TLineSeries).AddY(SLAVE.FieldByName('VALOR').AsCurrency,SLAVE.FieldByName('ANOMES').AsString);

          }

          (FindComponent('Series'+IntToStr(i)) As TLineSeries).Add(SLAVE.FieldByName('VALOR').AsCurrency,SLAVE.FieldByName('ANOMES').AsString)

          SLAVE.Next;
        end;
        Inc(I,1);
      end;
      MASTER.Next;
    end;
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Seg Jul 22, 2013 6:36 pm    Assunto: Responder com Citação

procure por Tchart na pasta Demo do delphi

abraço
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Paskoto
Novato
Novato


Registrado: Terça-Feira, 28 de Agosto de 2012
Mensagens: 15

MensagemEnviada: Ter Jul 23, 2013 9:20 am    Assunto: Responder com Citação

cyberdisk escreveu:
procure por Tchart na pasta Demo do delphi

abraço


Eu ja estou imprimindo o grafico, só nao estou conseguindo organizar as informações

X -> Valores
Y -> Mes/Ano

o grafico mostra as informações de uma maneira errada aos valores e nao sei porque, eu devo estar setando alguma configuração errada.

http://img199.imageshack.us/img199/6507/99d1.JPG

esta na imagen acima eu coloquei na mao, mais em codigo nao consiguo fazer a mesma coisa
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
cyberdisk
Colaborador
Colaborador


Registrado: Domingo, 4 de Julho de 2010
Mensagens: 2391
Localização: São José dos Campos - SP

MensagemEnviada: Ter Jul 23, 2013 7:02 pm    Assunto: Responder com Citação

veja se consegue entender esse exemplo

http://read.pudn.com/downloads99/sourcecode/others/402093/Sources/TeeBrazil.pas__.htm

abraço
_________________
O conhecimento abre muitas portas
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular Enviar E-mail
Paskoto
Novato
Novato


Registrado: Terça-Feira, 28 de Agosto de 2012
Mensagens: 15

MensagemEnviada: Qua Jul 24, 2013 7:44 am    Assunto: Responder com Citação

cyberdisk escreveu:
veja se consegue entender esse exemplo

http://read.pudn.com/downloads99/sourcecode/others/402093/Sources/TeeBrazil.pas__.htm

abraço


cyberdisk me parece a unit do teeChart
Voltar ao Topo
Ver o perfil de Usuários Enviar Mensagem Particular
Mostrar os tópicos anteriores:   
Novo Tópico   Responder Mensagem    ActiveDelphi - Índice do Fórum -> Delphi Todos os horários são GMT - 3 Horas
Página 1 de 1

 
Ir para:  
Enviar Mensagens Novas: Proibido.
Responder Tópicos Proibido
Editar Mensagens: Proibido.
Excluir Mensagens: Proibido.
Votar em Enquetes: Proibido.


Powered by phpBB © 2001, 2005 phpBB Group
Traduzido por: Suporte phpBB