+1

Criando gráficos com a classe JPGraph

criado por Fábio Berbert de Paula em 09/12/2002 9:09pm
Criando gráfico de barras

Em nosso primeiro exemplo prático vamos criar um simples gráfico de barras. Tenho um time de futebol de botão de mesa e quero botar em gráfico o número de gols que o time marcou durante a semana.

<?php
// exemplo1.php 
// fazer uso da classe jpgrafico padrão e sua especialização 
// em gráfico de barras 
include ("jpgraph.php"); 
include ("jpgraph_bar.php"); 

/*
 Definir um array para cada ponto da coordenada Y, especificando seus pontos/valores, sendo: 
 $numGols = o número de gols marcados em cada dia da semana, começando Domingo (8 gols) e terminando Sábado (11 gols) 
*/ 
$numGols = array ("8", "7", "12", "10", "7", "9", "11"); 

// iniciar criação do gráfico 
$grafico = new graph(350,200,"png"); 

// ajustar alguns parâmetros 
$grafico->SetScale("textlin"); 
$grafico->SetShadow(); 
$grafico->title->Set('Viva o Linux Futebol Clube'); 

// criar o gráfico de barras $gBarras = new BarPlot($numGols); 
// ajuste de cores 
$gBarras->SetFillColor("orange"); 
$gBarras->SetShadow("darkblue"); 

// adicionar gráfico de barras ao gráfico 
$grafico->Add($gBarras); 

// imprimir gráfico 
$grafico->Stroke();
?>


Figura 02 - um simples gráfico de barras

Se você deseja utilizar esse gráfico numa página HTML, basta fazer sua referência a partir de uma tag img:

<img src="exemplo1.php">

Comentários:

Mostrando 1 - 10 de 19 comentários
Olá pessoal,
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?
09/05/2006 11:56am (~18 anos atrás)

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....

;)
28/10/2005 6:25am (~19 anos atrás)

Nil Martins disse:
Há muitas dúvidas escritas aqui.
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 !
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
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
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
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
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
02/06/2003 10:34am (~21 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)