Gerando gráficos no PHP com a Libchart


Autor/fonte: Sandro J. S. Souza
E-mail/Url: http://www.sandro.eti.br
Tags: [ gráficos ] [ libchart ]



Digg del.icio.us

Já utilizo o phplot para gerar gráficos no PHP a bastante tempo e ele sempre me atendeu muito bem. Porém hoje eu conheci uma outra biblioteca do tipo que me chamou muito a atenção: A Libchart.

A Libchart também é gratuita e é tão simples de se utilizar quanto o phplot, tendo como vantagem que os gráficos gerados por ela são melhor apresentáveis, são um bem mais "bonitos". Como desvantagem, em comparação com o phplot, ela possibilita a criação de apenas três tipos de gráficos diferentes (já o phplot possibilita a criação de dez tipos de gráficos diferentes), que são: Barras (verticais e horizontais); Linhas; Pizza. E a última versão, a 1.2, da Libchart é compatível com o PHP 5

A instalação dela é bem simples: Uma vez tendo baixado a biblioteca, descompacte ela em um diretório de sua preferência e ela já estará pronta para uso.

Obs.: Para utilizá-la é necessário se ter instalado e compilado no PHP a biblioteca GD.

Vamos criar então o nosso primeiro gráfico nela, um gráfico de barras verticais:

<?
#Incluimos a biblioteca
include "classes/libchart.php";

#Definimos o tipo de imagem que será gerada (a Lichart trabalha gerando um PNG)
header("Content-type: image/png");

#Definimos o tipo de gráfico que queremos gerar e a altura e largura do mesmo
$grafico = new VerticalBarChart(500, 300);

#Definimos os valores e suas labels a serem exibidos no gráfico
$dataSet = new XYDataSet();
$dataSet->addPoint(new Point("Homens", 45));
$dataSet->addPoint(new Point("Mulheres", 55));
$grafico->setDataSet($dataSet);

#Definimos o título do gráfico
$grafico->setTitle("Percentual de Homens e Mulheres no Brasil");

#E, por fim, geramos o gráfico
$grafico->render();
?>

Simples, não é?!

Atenção: Vale lembrar que como é utilizado a função header para indicar o tipo de imagem que será gerado, o seu PHP não poderá ter nenhuma saída HTML antes desta função senão ocorrerá um erro e seu gráfico não será gerado.

Se quiséssemos gerar um gráfico de barras horizontais, bastaria trocar a linha:

$grafico = new VerticalBarChart(500, 300);

Por:

$grafico = new HorizontalBarChart(500, 300);

E se quiséssemos gerar um gráfico de pizza, bastaria trocar essa mesma linha por:

$grafico = new PieChart(500, 300);

Já para gerar um gráfico de linha, se tem um pouco mais de trabalho, pois, quando se trabalha com esse tipo de gráfico, normalmente se apresenta vários valores (dentro de, por exemplo, datas) para um mesmo dado.

Vejamos um exemplo dado como demonstração no site da Libchart para a geração de um gráfico do tipo:

<?
include "classes/libchart.php";

header("Content-type: image/png");

$grafico = new LineChart(500, 300);

$serie1 = new XYDataSet();
$serie1->addPoint(new Point("06-01", 273));
$serie1->addPoint(new Point("06-02", 421));
$serie1->addPoint(new Point("06-03", 642));
$serie1->addPoint(new Point("06-04", 799));
$serie1->addPoint(new Point("06-05", 1009));
$serie1->addPoint(new Point("06-06", 1106));

$serie2 = new XYDataSet();
$serie2->addPoint(new Point("06-01", 280));
$serie2->addPoint(new Point("06-02", 300));
$serie2->addPoint(new Point("06-03", 212));
$serie2->addPoint(new Point("06-04", 542));
$serie2->addPoint(new Point("06-05", 600));
$serie2->addPoint(new Point("06-06", 850));

$dataSet = new XYSeriesDataSet();
$dataSet->addSerie("Produto 1", $serie1);
$dataSet->addSerie("Produto 2", $serie2);
$grafico->setDataSet($dataSet);
$grafico->setTitle("Vendas em 2007");
$grafico->render();
?>

Bom, isso é o básico para se utilizar a Libchart!

Referências:




Sobre o autor(a): Sandro J. S. Souza
Trabalho com desenvolvimento Web. Visite meu site - http://www.sandro.eti.br
Avatar



Enviado por xKuRt em 10/01/2008 às 13:42


Itens relacionados

Classes e bibilotecas (gratuitas e pagas) para gerar gráficos no PHP
Criando gráficos no PHP com o phplot
Gráfico em forma de termômetro usando PHP/GD
Construindo um gráfico pizza com GD

Avaliação

Avaliação desta publicação: 10.00; Total de avaliações: 1


Avaliar:


A avaliação de publicações é restrita a membros cadastrados e logados no nosso site.



Comentários

AvatarEnviado por cinth em 12/08/2010 às 09:56

Olá
Fiz o seu tutorial e deu tudo certo. Porém quando uso caracteres com acento no título não aparece corretamente.
O meu site está em UTF-8.
Acredito que seja a biblioteca GD, mas não faço idéia de como editar uma dll.
Pode me ajudar??

Obrigada

AvatarEnviado por xKuRt em 21/10/2009 às 10:25

Veja como resolver o problema dos headers:

http://www.htmlstaff.org/ver.php?id=21209

--
Trabalho com desenvolvimento Web. Visite meu site - http://www.sandro.eti.br

AvatarEnviado por lucasmerighi em 08/10/2009 às 18:44

Olá!

Parece ser bem simples mesmo e estava procurando uma ferramenta para gerar esses tipo de gráficos, porém comecei a trabalhar com sql server e php a pouco tempo e não consegui fazer funcionar o libchart. Também não entendi sua observação. Aparece a mensagem:
Warning: Cannot modify header information - headers already sent by (output started at

C:Inetpubwwwrootgrafico.php:5) in C:Inetpubwwwrootgrafico.php on line 10

Fatal error: Call to undefined function imagecreatetruecolor() in C:InetpubwwwrootclassesviewplotPlot.php on line 217

Pode me ajudar a resolver esse problema?
Obrigado!

--
Lucas M.P

AvatarEnviado por guto88aug em 12/08/2009 às 10:11

Prezado... Eu uso o libchart. Mais estou com uma duvida... Como eu faco pra modificar a cor do grafico. Obrigado

--
Augusto


Envio de comentário:




  

Quinta, 31 de Julho de 2014




Top 5 membros

Últimos membros online

  • 1em 31/07 às 14:07
  • xKuRtem 30/07 às 14:31
  • JCanecaem 26/07 às 19:02

Últimos membros cadastrados



Capa do livro
Sistema de Banco de Dados


Capa do livro
Aprendendo JavaScript


Capa do livro
A Galáxia da Internet





Hostnet

IMD