quarta-feira, 14 de março de 2012

Gráficos PHP com pChart

Como fazer gráficos usando a biblioteca pChart. Está biblioteca é muito boa, e faz gráficos em formato de linhas, barras ou pizza. Os gráficos são muito bons, os de linha se parecem muito com os gráficos do Google Analytics.

O pChart pode ser baixado aqui.
A versão atual dele é pChart 1.26.
Mais gráficos e demonstração pode ser visto aqui.


Bom neste exemplo vou mostrar como fazer um gráfico de linhas, para usar em estatísticas por exemplo:

Segue o código:
<?php

 // Includes

 include("pChart/pData.class");

 include("pChart/pChart.class");



 // definicao do objeto, e adicao dos dados

 $DataSet = new pData;

 $DataSet->AddPoint(array(1,4,3,2,3,3,2,1,0,7,4,3,2,3,3,5,1,0,7));

 $DataSet->AddSerie();

 $DataSet->SetSerieName("Sample data","Serie1");



 // Inicializacao do grafico

 $Test = new pChart(700,230);

 $Test->setFontProperties("Fonts/tahoma.ttf",10);

 $Test->setGraphArea(40,30,680,200);

 $Test->drawGraphArea(252,252,252);

 $Test->drawScale($DataSet->GetData(), $DataSet->GetDataDescription(), 5,150,150,150,TRUE,0,2);

 $Test->drawGrid(5,TRUE,230,230,230,255);



 // pintura da linha

 $Test->drawLineGraph($DataSet->GetData(), $DataSet->GetDataDescription());

 $Test->drawPlotGraph($DataSet->GetData(), $DataSet->GetDataDescription(),3,2,255,255,255);



 // Finalizacao do grafico

 $Test->setFontProperties("Fonts/tahoma.ttf",10);

 $Test->drawLegend(65,35, $DataSet->GetDataDescription(),255,255,255);

 $Test->drawTitle(60,22,"www.oficinadanet.com.br", 50,50,50,585);

 $Test->Render("Naked.png");

?>


Resultado:


Bonito o gráfico, não é?

Bom agora vou explicar o que o código faz, para você compreender o funcionamento do gráfico.

AddPoint

A função AddPoint é a que adiciona os dados no gráfico. Você pode tanto passar um array como parâmetro, assim como no código acima, ou adicionar um valor de cada vez, é importante adicionar dos pontos antes de executar a função AddSerie, por exemplo:
$DataSet->AddPoint(1,"Serie1",'Descrição do valor 1');

$DataSet->AddPoint(2,"Serie1",'Descrição do valor 2');

$DataSet->AddSerie();



Onde:
O primeiro parâmetro é o valor a ser analizado, o segundo parâmetro é a serie, ou seja, a linha que quer adicionar o dado, e o terceiro parêmetro é a descrição do valor. Assim você pode fazer gráfico mensal e colocar abaixo de cada valor o nome do mês, ao invés do número representativo dele.

SetSerieName

A função SetSerieName define o nome da linha, e a descrição dela.

Render

Esta função salvará o arquivo no servidor, com o nome que for passado por parâmetro.
 $Test->Render("Naked.png");

A saída será o arquivo Naked.png


Os outros blocos, são para definição de cores e tamanhos do gráfico, por exemplo, a instância do objeto:
 $Test = new pChart(700,230);

Neste código você define o tamanho do gráfico a ser gerado.

Nenhum comentário :

Postar um comentário

Total de visualizações de página