Fórum Trabalhando com Gráficos (TChart) #393277
03/01/2011
0
Galera é o seguinte, estou tendo um probleminha em fazer um gráfico, estou utilizando o componente TChart nativo do Delphi mesmo...para facilitar faça o seguinte, inicia uma nova aplicação, e apenas adicione um TChart no seu form, em seguida vá ao evento OnCreate do Seu Form ou em qualquer botão...e copie o seguinte codigo:
var
Serie : TChartSeries;
begin
Chart1.SeriesList.ClearValues;
Chart1.SeriesList.Clear;
Serie := TLineSeries.Create(nil);;
Serie.Color := clteecolor;
Serie.Title := 'Leandro S. Costa';
Serie.Marks.Visible := True;
Serie.Marks.Style := smsValue;
Serie.Pen.Width := 2; Chart1.AddSeries(Serie);
Chart1.Series[0].AddY(150,'Janeiro',clteecolor);
Chart1.Series[0].AddY(250,'Fevereiro',clteecolor);
Chart1.Series[0].AddY(396.39,'Março',clteecolor);
//Chart1.Series[0].AddY(7891,'Abril',clRed);
//Chart1.Series[0].AddY(15.36,'Maio',clRed);
Chart1.Series[0].AddY(89.69,'Junho',clteecolor);
Chart1.Series[0].AddY(7,'Julho',clteecolor);
Chart1.Series[0].AddY(8,'Agosto',clteecolor);
Chart1.Series[0].AddY(9,'Setembro',clteecolor);
Chart1.Series[0].AddY(1500,'Outubro',clteecolor);
Chart1.Series[0].AddY(1750.36,'Novembro',clteecolor);
Chart1.Series[0].AddY(120,'Dezembro',clteecolor); Serie := TLineSeries.Create(nil);
Serie.Color := clteecolor;
Serie.Title := 'Aparecida Garcia';
Serie.Marks.Style := smsValue;
Serie.Pen.Width := 2;
Chart1.AddSeries(Serie); Chart1.Series[1].AddY(1,'Janeiro',clteecolor);
Chart1.Series[1].AddY(2,'Fevereiro',clteecolor);
Chart1.Series[1].AddY(396.39,'Março',clteecolor);
Chart1.Series[1].AddY(150,'Abril',clTeeColor);
Chart1.Series[1].AddY(1500,'Maio',clteecolor);
Chart1.Series[1].AddY(89.69,'Junho',clteecolor);
Chart1.Series[1].AddY(981,'Julho', clteecolor); Se ficar faltando alguma unit, adicione a unit Series; O que acontece, é que no segundo bloco do meu código, eu tenho o mes de abril: Chart1.Series[1].AddY(150,'Abril',clTeeColor);
Porem, no gráfico nao está aparecendo, pelo o que eu entendo, é por que como já existe valores inseridos pela primeira parte do bloco, quando ele vai fazer a segunda parte ou utilizar a segunda serie, ele aproveita os pontos já existentes da primeira, dessa maneira, nao criando novos pontos no meu gráfico...e na verdade eu precisaria de todos os pontos, independetemente se a primeira série possui ou nao.... Obrigado.
Serie : TChartSeries;
begin
Chart1.SeriesList.ClearValues;
Chart1.SeriesList.Clear;
Serie := TLineSeries.Create(nil);;
Serie.Color := clteecolor;
Serie.Title := 'Leandro S. Costa';
Serie.Marks.Visible := True;
Serie.Marks.Style := smsValue;
Serie.Pen.Width := 2; Chart1.AddSeries(Serie);
Chart1.Series[0].AddY(150,'Janeiro',clteecolor);
Chart1.Series[0].AddY(250,'Fevereiro',clteecolor);
Chart1.Series[0].AddY(396.39,'Março',clteecolor);
//Chart1.Series[0].AddY(7891,'Abril',clRed);
//Chart1.Series[0].AddY(15.36,'Maio',clRed);
Chart1.Series[0].AddY(89.69,'Junho',clteecolor);
Chart1.Series[0].AddY(7,'Julho',clteecolor);
Chart1.Series[0].AddY(8,'Agosto',clteecolor);
Chart1.Series[0].AddY(9,'Setembro',clteecolor);
Chart1.Series[0].AddY(1500,'Outubro',clteecolor);
Chart1.Series[0].AddY(1750.36,'Novembro',clteecolor);
Chart1.Series[0].AddY(120,'Dezembro',clteecolor); Serie := TLineSeries.Create(nil);
Serie.Color := clteecolor;
Serie.Title := 'Aparecida Garcia';
Serie.Marks.Style := smsValue;
Serie.Pen.Width := 2;
Chart1.AddSeries(Serie); Chart1.Series[1].AddY(1,'Janeiro',clteecolor);
Chart1.Series[1].AddY(2,'Fevereiro',clteecolor);
Chart1.Series[1].AddY(396.39,'Março',clteecolor);
Chart1.Series[1].AddY(150,'Abril',clTeeColor);
Chart1.Series[1].AddY(1500,'Maio',clteecolor);
Chart1.Series[1].AddY(89.69,'Junho',clteecolor);
Chart1.Series[1].AddY(981,'Julho', clteecolor); Se ficar faltando alguma unit, adicione a unit Series; O que acontece, é que no segundo bloco do meu código, eu tenho o mes de abril: Chart1.Series[1].AddY(150,'Abril',clTeeColor);
Porem, no gráfico nao está aparecendo, pelo o que eu entendo, é por que como já existe valores inseridos pela primeira parte do bloco, quando ele vai fazer a segunda parte ou utilizar a segunda serie, ele aproveita os pontos já existentes da primeira, dessa maneira, nao criando novos pontos no meu gráfico...e na verdade eu precisaria de todos os pontos, independetemente se a primeira série possui ou nao.... Obrigado.
Leandro Costa
Curtir tópico
+ 0
Responder
Posts
05/01/2011
Rodrigo Santos
Amigo, bom dia! Tive um problema assim há alguns dias aqui e era coisa boba mesmo. Pra começarmos a resolver seu problema verifique o tamanho do seu gráfico na tela. Tente aumentar o tamanho e veja se irão aparecer os meses que estão faltando. Se o que você quer é que apareca as labels do eixo x certifique-se de que existe espaço para elas. Se continuar ocorrendo o mesmo erro tente especificar mais aqui para que eu possa tentar ajudá-lo.
Sds.
Sds.
Responder
Gostei + 0
08/02/2013
Ricardo Alves
Cara Esse Tópico me ajudou muito. Vlw \O/
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)