A criação de gráficos dinâmicos é um recurso importante para divulgação, entendimento e gerenciamento das informações veiculadas em um site. Entre as várias ferramentas disponíveis para a geração de gráficos em PHP, nesse artigo será utilizado o pacote JpGraph, disponível para download no endereço http://www.aditus.nu/jpgraph/. Observe que dependendo da versão do PHP, você deverá copiar a série 1.x (PHP versão >= 4.3.1) ou a série 2.x (PHP versão >= 5.0). Acesse o site, copie a versão mais recente, 1.2 (PHP 4) ou 2.0 (PHP 5) e descompacte o arquivo dentro de uma pasta no seu computador. Deverá ficar parecido com o exemplo a seguir:
jpgraph-2.0
|__ docs
|__ html
|__ ref
|__ src
|__ Examples
No diretório denominado docs você encontrará uma detalhada documentação do JpGraph com um manual, exemplos e referência as classes pertencentes a essa ferramenta.
Veremos agora dois exemplos, um para gerar um gráfico tipo pizza e o outro para gerar um gráfico de barras.
=> Gráfico Pizza
<?php
include ("jpgraph.php");
include ("jpgraph_pie.php");
$data = array(40,60,21,33);
$graph = new PieGraph(330,220,"auto");
$graph->SetShadow();
$graph->title->Set("Exemplo de Gráfico Pizza");
$p1 = new PiePlot($data);
$p1->SetCenter(0.35);
$p1->SetLegends( array("1 Tri","2 Tri","3 Tri","4 Tri"));
$graph->Add($p1);
$graph->Stroke();
?>
=>Gráfico Barra
<?php
include ("jpgraph.php");
include ("jpgraph_pie.php");
$datay=array(12,8,19,3,10,5);
$graph = new Graph(300,200,"auto");
$graph->SetScale("textlin");
$graph->SetShadow();
$graph->img->SetMargin(40,30,20,40);
$bplot = new BarPlot($datay);
$bplot->SetFillColor('orange');
$bplot->SetWidth(1.0);
$graph->Add($bplot);
$graph->title->Set("Exemplo Gráfico Barra");
$graph->xaxis->title->Set("X-titulo");
$graph->yaxis->title->Set("Y-titulo");
$graph->Stroke();
?>
Observe que nos exemplos as informações para criação dos gráficos estão definidas diretamente nos códigos. Obviamente, isso não irá ocorrer quando você utilizar os gráficos em seu site. Na prática, as informações serão retiradas de uma fonte de dados, como um banco de dados.
» Download dos fontes do artigo. «