+1

Criando gráficos com a classe JPGraph

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

Agora que estamos aptos à criar nosso primeiro gráfico de barras, vamos sofisticar nosso gráfico com alguns add-ons como o nome dos dias da semana, label dos vértices, etc. Vamos aproveitar o primeiro exemplo adicionando novas linhas e comentando-as.

<?php
// exemplo2.php
include ("jpgraph.php");
include ("jpgraph_bar.php");

$numGols = array ("8", "7", "12", "10", "7", "9", "11");
// definir dias da semana
$diasSemana = array("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "S&#65533;b");

$grafico = new graph(350,200,"png");

// margem das partes principais do gráfico (dados), o que está
// fora da margem fica separado para as labels, títulos, etc
$grafico->img->SetMargin(40,40,40,40);

$grafico->SetScale("textlin");
$grafico->SetShadow();

$grafico->title->Set('Viva o Linux Futebol Clube');
// definir subtitulo
$grafico->subtitle->Set('www.vivaolinux.com.br');

// pedir para mostrar os grides no fundo do gráfico,
// o ygrid é marcado coom true por padrão
$grafico->ygrid->Show(true);
$grafico->xgrid->Show(true);

$gBarras = new BarPlot($numGols);
$gBarras->SetFillColor("orange");
$gBarras->SetShadow("darkblue");

// t&#65533;tulo dos vértices
$grafico->yaxis->title->Set("Gols");
$grafico->xaxis->title->Set("Dia da semana");
// título das barras
$grafico->xaxis->SetTickLabels($diasSemana);

$grafico->Add($gBarras);
$grafico->Stroke();
?>


Figura 03 - gráfico de barras sofisticado

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 (~15 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 (~16 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 (~16 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 (~16 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 (~16 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 (~17 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 (~18 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 (~18 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 (~18 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 (~18 anos atrás)

Novo Comentário:

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