Criando gráficos com a classe JPGraph
A linguagem PHP, quando utilizada em conjunto com a biblioteca GD nos oferece uma infinidade de recursos para criar e manipular imagens, sendo possível criar desenhos vetoriais, thumbnails, manipular imagens prontas, dentre outros.
O código abaixo cria uma imagem de 150x100 pixels com o fundo em tonalidade amarela e desenha uma linha preta cortando o gráfico:
Figura 01
Como pode-se notar, os comandos são relativamente intuitivos, porém criar uma imagem de estrutura mais complexa pode ser uma tarefa bastante dolorosa. Imagine criar um sofisticado gráfico de pizza a partir do zero ? Para nossa sorte existem classes PHP de terceiros que facilitam nossa vida e é sobre isso que vou falar nesse artigo. Hoje seremos apresentados à classe jpgraph da PHP, usada para criar quaisquer tipo de gráfico imaginável.
O código abaixo cria uma imagem de 150x100 pixels com o fundo em tonalidade amarela e desenha uma linha preta cortando o gráfico:
<?php header ("Content-type: image/png"); $imagem = imagecreate (150, 100); $corFundo = imagecolorallocate ($imagem, 255, 255, 200); $corLinha = imagecolorallocate ($imagem, 0, 0, 0); imageline ($imagem, 10, 90, 140, 10, $corLinha); imagepng ($imagem); ?>
Figura 01
Como pode-se notar, os comandos são relativamente intuitivos, porém criar uma imagem de estrutura mais complexa pode ser uma tarefa bastante dolorosa. Imagine criar um sofisticado gráfico de pizza a partir do zero ? Para nossa sorte existem classes PHP de terceiros que facilitam nossa vida e é sobre isso que vou falar nesse artigo. Hoje seremos apresentados à classe jpgraph da PHP, usada para criar quaisquer tipo de gráfico imaginável.
O exemplo contido na página 3 deste artigo está com um pequeno erro:
Ele esqueceu de estanciar a classe de gráfico de barras antes de usá-la, ou seja antes de fazer:
$gBarras->SetFillColor("orange");
deve-se incluir a seguinte linha:
$gBarras= new BarPlot($numGols);
Esta linha está comentada e se alguém tentar copiar o exemplo não esqueça de descomenta-la
Estou postando isso pois alguns iniciantes como eu podem tentar usá-la e se bater um pouco até conseguir usar este exemplo....
;)
Ele esqueceu de estanciar a classe de gráfico de barras antes de usá-la, ou seja antes de fazer:
$gBarras->SetFillColor("orange");
deve-se incluir a seguinte linha:
$gBarras= new BarPlot($numGols);
Esta linha está comentada e se alguém tentar copiar o exemplo não esqueça de descomenta-la
Estou postando isso pois alguns iniciantes como eu podem tentar usá-la e se bater um pouco até conseguir usar este exemplo....
;)
28/10/2005 6:25am
(~19 anos atrás)
Há muitas dúvidas escritas aqui.
O que houve com a comunidade PHP ??
Não tem ninguém pra responder??!!
O que houve com a comunidade PHP ??
Não tem ninguém pra responder??!!
20/07/2005 9:10am
(~19 anos atrás)
Preciso montar gráficos com o eixo "Y" em horas. Alguém sabe setar o jpgraph para esta função????
07/07/2005 9:11pm
(~19 anos atrás)
Olá.
Como faço para setar o charcode (iso/utf8). Os labels dos gráficos com acentos não funcionam.
Existe uma configuração ?
obrigado !
Como faço para setar o charcode (iso/utf8). Os labels dos gráficos com acentos não funcionam.
Existe uma configuração ?
obrigado !
04/05/2005 2:17pm
(~19 anos atrás)
Galera,
atravéz desse tutorial consegui gerar os gráficos que necessito. Valeu demais.
Agora uma dúvida. Preciso pegar essas imagens que são geradas e enviar por e-mail. Como pego essa imagem?
Alguém tem idéia?
Obrigado
atravéz desse tutorial consegui gerar os gráficos que necessito. Valeu demais.
Agora uma dúvida. Preciso pegar essas imagens que são geradas e enviar por e-mail. Como pego essa imagem?
Alguém tem idéia?
Obrigado
04/01/2005 10:48am
(~20 anos atrás)
Alguem saberia me informar qual é o erro. Estou começando a trabalhar com graficos agora, fiz tudo q esta no tutorial mas esta dando o seguinte erro:
JpGraph Error: No path specified for CACHE_DIR. Please specify a path for that DEFINE in jpgraph.php
obrigado,
CArlos
JpGraph Error: No path specified for CACHE_DIR. Please specify a path for that DEFINE in jpgraph.php
obrigado,
CArlos
18/09/2003 8:23pm
(~21 anos atrás)
Diga qual sua duvida ??? talvez possa ajuda-lo
se puder anexe seu script , posso ver onde esta o erro !
Ronaldo Menezes
se puder anexe seu script , posso ver onde esta o erro !
Ronaldo Menezes
15/09/2003 4:40am
(~21 anos atrás)
Bem primeiramente parabens para o autor..
Agora vamos a duvida, gostaria de fazer uma consulta em meu banco de dados e gerar o grafico com o resultado dessa consulta, porem ate a parte da consulta sem problemas so que quando conto as linhas da erro na imagem, alguem teria alguma dica de como posso integrar MySql com esta biblioteca ?
bracus
Mave ... ::20212359
Agora vamos a duvida, gostaria de fazer uma consulta em meu banco de dados e gerar o grafico com o resultado dessa consulta, porem ate a parte da consulta sem problemas so que quando conto as linhas da erro na imagem, alguem teria alguma dica de como posso integrar MySql com esta biblioteca ?
bracus
Mave ... ::20212359
02/09/2003 7:27am
(~21 anos atrás)
Gostaria de saber como faço para salvar o grafico como figura na memoria para a geração de relatorio em PDF, porque a função image do fpdf não executa arquivo.php, mas so faz referencia ao arquivo;
Estou tentando as funções fopen, fwrite e fclose, não sei o que est errado
$f = fopen("imagem.png","w");
fwrite($f,$graph->Stroke());
fclose($f);
caso tenha outra ideia para disponibilizar a figura na memoria que não seja a execução do arquivo.php
Estou tentando as funções fopen, fwrite e fclose, não sei o que est errado
$f = fopen("imagem.png","w");
fwrite($f,$graph->Stroke());
fclose($f);
caso tenha outra ideia para disponibilizar a figura na memoria que não seja a execução do arquivo.php
02/06/2003 10:34am
(~21 anos atrás)
Gostaria de saber como faço para inserir uma imagem gerada com a JpGraph num pdf gerado com a pdflib.
<?php
$graph = new Graph(...);
// Code to create the graph
// .........................
// .........................
// Put the image in a PDF page
$im = $graph->Stroke(_IMG_HANDLER);
$pdf = pdf_new();
pdf_open_file($pdf, "");
// Convert the GD image to somehing the
// PDFlibrary knows how to handle
$pimg = pdf_open_memory_image($pdf, $im);
pdf_begin_page($pdf, 595, 842);
pdf_add_outline($pdf, "Page 1");
pdf_place_image($pdf, $pimg, 0, 500, 1);
pdf_close_image($pdf, $pimg);
pdf_end_page($pdf);
pdf_close($pdf);
$buf = pdf_get_buffer($pdf);
$len = strlen($buf);
header("Content-type: application/pdf");
header("Content-Length: $len");
header("Content-Disposition: inline; filename=foo.pdf");
echo $buf;
pdf_delete($pdf);
?>
Está acontecendo o seguinte erro:
Fatal error: Call to undefined function: pdf_open_memory_image()
Estou usando php 4.3.10
JpGraph v1.20.2
PDFlib GmbH 6.0.p1
O está acontecendo?