Menu

Gráfico no lazarus (TChart)

Esse componente é o nativo do Lazarus para a criação de gráficos, o mesmo suporta vários tipos de plotagem (linha, torta, barras, área e outros). É comum encontrar reclamações na internet sobre a dificuldade em usar o componente TChart do Lazarus.


Este post mostra como usar, de forma simples, a propriedade de gráficos em linha. Para isso é necessário criar um novo projeto no Lazarus e adicionar um TChart no formulário.




A série é um propriedade do gráfico que recebe os pontos para plotagem. Um componente TChart pode possuir várias séries. Para adicionar uma série ao gráfico basta um click duplo sobre o mesmo. Feito isso, deverá surgir uma janela flutuante. A janela "Edit series" permite adicionar o conjunto de séries com a qual o programa irá trabalhar. Ao adicionar uma nova série será exibida uma lista com as opções de tipos para a série em questão. O tipo "Line Series" permite plotar os pontos ligando os mesmos por uma linha.


Depois de criar a série é possível modificar suas propriedades como cor, espessura, tipo de linha e etc.

A grande dificuldade na utilização deste componente é que a série não recebe os pontos diretamente. É necessário utilizar um componente de entrada para os dados. Este componente é o "ListChartSource", encontrado na aba Chart. Deverá ser adicionado um "ListChartSource" para cada série criada.


Para relacionar o conjunto de pontos que serão adicionados ao componente "ListChartSource1" à série "Chart1LineSeries1", criada anteriormente, é preciso selecionar este componente no campo "Source" da série em questão.


Após realizar os passos descritos acima o "Chart1" estará pronto para exibir os dados contidos em "ListChartSource1" através da série "Chart1LineSeries1". Porém "ListChartSource1" ainda não possui dados. Para inserir dados neste componente será utilizado um botão. Insira um botão no formulário e cole o seguinte código no seu envento "On Click".


ListChartSource1.Clear;

ListChartSource1.Add(0,0);
ListChartSource1.Add(1,2);
ListChartSource1.Add(3,6);
ListChartSource1.Add(4,8);


A primeira linha limpa a lista de pontos e as demais linhas adicionam novos pontos, desta forma o programa deve exibir uma reta.
O resultado pode ser visto compilando o código.



Vale notar que a utilização deste componente é feita através de uma forma indireta, porém isso não dificulta em nada a sua utilização.
O TChart pode ser utilizado de forma muito eficiente em conjunto com outros componentes como o 5dpo para comunicação serial. Com estes dois componentes é possível criar aplicações como DataLoggers.

Mais informações: Documentação oficial sobre o TChart

6 comentários:

  1. Preciso de ajuda, vc conseguiu já usar o Chart no Fortes Report, ele fica preto o chart, no form fica otimo, mas no fortes nao vai, tentei sem band, tentei tudo q dizem na internet, mas nada. Se puder ajudar, sou ber ou tentar, agradeço !

    ResponderExcluir
    Respostas
    1. Olá Pedro, nunca utilizamos o Fortes Report antes. Porém, posso sugerir uma alternativa menos ortodoxa :-), tente salvar o gráfico como uma imagem e mandar essa imagem para o relatório. Talvez essa não seja a resposta mais correta, mas torço para que funcione.

      Excluir
  2. Gostei deste tutorial, bem simples e direto. Obrigado

    ResponderExcluir
  3. Pessoal... Preciso ligar um gráfico a uma datasource. Alguém tem um exemplo

    ResponderExcluir
  4. Gostei por ser simples e direto.Gostaria de construir um gráfico tipo pizza(PieSeries Pizza) que funcione no executável. Aguardo sua ajuda.
    Desde já obrigado.

    ResponderExcluir