Ir para conteúdo
Fórum Script Brasil
  • 0

Gráfico


VDLR

Pergunta

Pessoal estou precisando de ajuda para montagem de um gráfico.

O caso é o seguinte, preciso montar um gráfico onde o eixo X seja composto de data e hora e o eixo Y suba de acordo com o tempo marcado no eixo X.

Exemplo:

Eixo X recebe os seguintes valores

25/02/08 – 23:40

26/02/08 – 01:40

26/02/08 – 03:40

26/02/08 – 05:40

26/02/08 – 07:40

etc.

Eixo Y receba os seguintes valores

1º linha 300

400

500

600

700

2º linha 250

350

450

550

650

Etc.

Abraços

Valdecir

:wacko: :wacko:

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0
Pessoal estou precisando de ajuda para montagem de um gráfico.

O caso é o seguinte, preciso montar um gráfico onde o eixo X seja composto de data e hora e o eixo Y suba de acordo com o tempo marcado no eixo X.

Se você vai adicionar as séries em run-time, pode proceder mais ou menos assim:

- adiciona um TChart (paleta Additional);

- dá um duplo-click nele e configura o que precisar, depois, em Séries, seleciona Serie1 e clica em Delete;

- se você precisar que o gráfico mostre os valores em Y desde 0 até o maior valor, você deve acessar a guia Axis e na sub-guia Scales, desmarca Automatic; marca Auto para Maximum e em Minimum, clica em Change e define 0 (zero);

- No Object Inspector, você seleciona a propriedade BottomAxis, expande ela e configura a propriedade LabelsAngle para 90º para que apareçam as data/horas.

Depois no código:

procedure TForm1.BtnIncluiClick(Sender :TObject);
  procedure InsertSerieValue(Serie :TChartSeries; StrDateTime :String; Value :Double);
  begin
    Serie.AddXY(StrToDateTime(StrDateTime), Value, StrDateTime);
  end;
var
  LineSerie :TLineSeries;
begin
  LineSerie := TLineSeries.Create(Self);
  InsertSerieValue(LineSerie, '25/02/2008 23:40', 300);
  InsertSerieValue(LineSerie, '26/02/2008 01:40', 400);
  InsertSerieValue(LineSerie, '26/02/2008 03:40', 500);
  InsertSerieValue(LineSerie, '26/02/2008 05:40', 600);
  InsertSerieValue(LineSerie, '26/02/2008 07:40', 700);
  Chart1.AddSeries(LineSerie);

  LineSerie := TLineSeries.Create(Self);
  InsertSerieValue(LineSerie, '25/02/2008 23:40', 250);
  InsertSerieValue(LineSerie, '26/02/2008 01:40', 350);
  InsertSerieValue(LineSerie, '26/02/2008 03:40', 450);
  InsertSerieValue(LineSerie, '26/02/2008 05:40', 550);
  InsertSerieValue(LineSerie, '26/02/2008 07:40', 650);
  Chart1.AddSeries(LineSerie);

  ...
end;
Para limpar o gráfico, liberando as series alocadas, faça assim:
...
  while Chart1.SeriesList.Count > 0 do
    Chart1.Series[0].Free;
...

é por aí....

Abraços

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,2k
×
×
  • Criar Novo...