Criando gráficos com a classe JPGraph (parte 1)

A linguagem PHP nos oferece uma infinidade de recursos para criar e manipular imagens, porém criar uma imagem de estrutura mais complexa pode ser uma tarefa bastante dolorosa. Para nossa sorte existem classes PHP de terceiros que facilitam nossa vida e é sobre isso que vamos falar nesse artigo. Seremos apresentados à classe JPGraph da PHP, usada para criar quaisquer tipo de gráfico imaginável.

[ Hits: 146.214 ]

Por: Fábio Berbert de Paula em 14/11/2002 | Blog: https://mestrefabio.com


Obtendo e instalando a classe jpgraph



Antes de mais nada você precisa fazer o download da classe a partir de sua página oficial através da URL:

www.aditus.nu/jpgraph

Ao clicar no link para download, será recebido o arquivo jpgraph-x.x.tar.gz,onde x.x corresponde à versão do programa. Descompacte o arquivo com o comando:

$ tar -zxvf jpgraphx.x.tar.gz
O comando acima criará o diretório jpgraph-x.x com a seguinte estrutura de diretórios:


./src arquivos da classe jpgraph
./docs manual de uso
./README instruções detalhadas sobre instalação
./QPL.txt cópia da licença QPL
Você tem duas opções ao utilizar os arquivos da classe em seus scripts:
  • Copiar todos os arquivos de ./src para o diretório onde se encontram seus scripts
  • Copiar os arquivos de ./src para um diretório definido no include_path do seu arquivo de configuração do PHP (php.ini)
Sem dúvidas a segunda alternativa é melhor, sendo assim vamos criar um diretório de inclusão e copiar os arquivos para lá:

$ mkdir /usr/local/jpgraph
$ cp jpgraphx.x/src/* /usr/local/jpgraph
Edite o arquivo php.ini (geralmente em /etc/php4/apache/php.ini) e inclua o novo diretório em seu path:

include_path = ".:/usr/local/jpgraph"

Ao reiniciar o Apache a classe jpgraph estará instalada.

Nota: o software é distribuído sob licença QPL, que é uma variação da GPL com algumas restrições. O software continua sendo livre, mas é bom dar uma lida no arquivo QPL.txt distribuído junto com o mesmo para se manter bem informado.

Página anterior     Próxima página

Páginas do artigo
   1. Introdução
   2. Obtendo e instalando a classe jpgraph
   3. Criando gráfico de barras
   4. Sofisticando o seu gráfico de barras
   5. Gráfico de barras agrupado
Outros artigos deste autor

Filtros do Instagram no Gimp

Kdenlive - Como desfocar/borrar rosto, área ou objetos em um vídeo

Enviando mensagens de WhatsApp no Linux usando Shell Script e ADB

Zello - Transforme seu Android (e GNU/Linux) num Walkie Talkie

A trajetória do Viva o Linux - retrospectiva 2003/2004

Leitura recomendada

Criando um sistema de banners rotativos em PHP

Guia completo do Ocomon módulo admin no Linux (exclusivo VOL)

Usando cache na classe Fast Template

Abordagem exemplificada de orientação à objeto com PHP 5

Guia completo do Ocomon no Linux - Módulo cliente, abertura de ocorrência (exclusivo VOL)

  
Comentários
[1] Comentário enviado por segan em 24/10/2003 - 14:15h

Hello!!
Sorry for speak in English but the different meanings between words in Spahis and Portugues its a very long....

My comment is:
I download Jpgraph-1.10.1 and first i try to install in the Path but not work....
Later I try to put the directory /src in my scripts but ever appears that error:

Fatal error: No parent class available in this context in /var/www/html/graficos/src/jpgraph.php on line 1936

Im so very satisfacted an any help!!!


[2] Comentário enviado por atilazip em 05/04/2004 - 15:24h

Parabéns!

Li seu artigo sobre jpgraph e descobri na procura sobre o assunto que cerca de 80% dos site nacionais que tratam do assunto direcionavam seus link para seu artigo. Isso mostra um belo reconhecimento do seu trabalho então da minha parte

Parabéns outra vez.

[3] Comentário enviado por gatecrasher em 28/05/2004 - 12:55h

Fabio,
parabens pelo artigo.

Tentei algo assim:

$consulta_acesso_segunda=@mysql_query("SELECT * FROM tb_acesso WHERE tb_acesso.dia_da_semana LIKE 'seg%' ;");

$numero_acesso_segunda=@mysql_num_rows($consulta_acesso_segunda);


// na construcao eixo x por exemplo

$dados_barra = array($numero_acesso_segunda,etc,etc,etc,etc);

A classe JGraph emite erro e so aceita constantes no array.

Pergunta: eh possivel construir graficos a partir do numero de registros de um banco de dados?

[4] Comentário enviado por drikafernandes em 31/05/2004 - 11:19h

Olá, gostaria de saber se toda essa informação também funciona em ambiente Windows...
Eu utilizo WinME, PWS, PHP4.3.6, GD2...

Obrigada
Drika Fernandes
webmaster@tecsite.com.br

[5] Comentário enviado por slslig em 15/06/2004 - 12:02h

Olá , não consegui fazer funcionar já no primeiro exemplo, sou iniciante em php e uso o Easyphp 1.7 em ambiente windows.
Pode me dar uma dica ???
Fatal error: Call to undefined function: imagecreate() in c:\program files\easyphp1-7\www\graficos\graf1.php on line 10

sergio
slslig@ig.com.br

[6] Comentário enviado por lopan em 26/07/2004 - 13:54h

Olá!

O script que vc colcou na introdução, foi gerado perfeitamente, mas o outro, deu o seguinte erro!

JpGraph Error: Can't create truecolor image. Check that you really have GD2 library installed.

Sendo que o GD2 está instalado, já tentei de todas as formas corrigir, mas não consigo, estou tentando instalar o JpGraph para utilização com o phpPrintAnalyzer (Analisador de Logs do CUPS), mas a documentação é pouca, o phpPrintAnalyzer mesmo não há complicação, já o JpGraph, poxa, não tem ninguém na net tradando sobre este erro.

Eu estou com:
Red Hat 8
PHP 4.2.2
GD2 2.0.28

Se alguém já passou por este problema, por favor... Compartilhe a solução!

[7] Comentário enviado por alexjfalcao em 05/10/2004 - 16:27h

no arquivo jpg-config.inc edite as linhas para:

DEFINE("USE_TRUECOLOR",false);
DEFINE("USE_LIBRARY_GD2",false);

Funciona, mas várias funções não rolam, voce precisa adaptar seus gráficos.

abraço

[8] Comentário enviado por luis_ag em 22/11/2004 - 17:32h

Caro Fábio

Em primeiro lugar, parabéns pelo artigo.

Assim como nosso amigo Sérgio, eu também estou iniciando em PHP e também não consegui passar do seu exemplo mais simples.

utilizei seu código:
<?
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);
?>

e obtive o seguinte erro:
Fatal error: Call to undefined function: imagecreate() in C:\Inetpub\wwwroot\exemplo0_Temp.php on line 3

Sou usuário do Windows, IIS5, PHP4 e possuo as bibliotecas do jpgraph.

O que eu estou fazendo de errado? é alguma configuração?

Desde já agradeço sua ajuda,

Obrigado

Luis
luis_ag10@hotmail.com

[9] Comentário enviado por leonardocdc em 06/12/2004 - 15:42h

Fabio,
muito legal esse artigo.

Mas no caso deu usar o gráfico de barras, no eixo x eu quero colocar as porcentagens de 0% à 100%. Tem algum lugar lá que define isso?
Tipo o tamanho do intervalo, Pq lá está de 2 em 2.

Obrigado

[10] Comentário enviado por ricky578 em 06/03/2005 - 01:39h

Olá Fábio,

Utilizei seu script em um linux Redhat9 e também em um Suse já com a classe JPGRAPH instalada e em ambos só consegui obter uma página em branco como resultado. O que pode estar ocorrendo? Poderia me ajudar?

Ricardo
rruggiero@globo.com

[11] Comentário enviado por darkshakal em 14/06/2006 - 15:33h

muito bom

[12] Comentário enviado por filtis em 31/08/2006 - 15:35h

Ola, fiz a instalação td certo e talz... fiz um exemplo, mais na hora q eu fui testar apareceu esta mensagem:
"Internal error: Chosen locale file for error messages does not exist."
Alguem poderia me ajudar???

[13] Comentário enviado por agostinho_jr em 19/09/2006 - 23:51h

Amigo, como faço pra setar um valor fixo para o eixo y?
Abraço.
Que Deus abençoe,
Agostinho Jr.

[14] Comentário enviado por pedrodee em 13/03/2007 - 14:50h

Ola!
Será que alguem resolveu o problema dos labels dos gráficos não mostrarem os caracteres correctamente?
Por exemplo Português, o 'ê' aparece estranho.
Alguém pode ajudar?

Abraço

[15] Comentário enviado por gzanatta00 em 31/05/2007 - 21:33h

na minha maquina ta dando o seguinte erro

JpGraph Error Your PHP installation does not seem to have the required GD 2.x library enabled. Please see the PHP documentation, "Image" section. Make sure that "php_gd2.dll" statement is uncomment in the [modules] section in the php.ini file.


acho q ta faltando o GD2, como q eu instalo

[16] Comentário enviado por enrikest em 03/09/2007 - 13:03h

Ola, testei o exemplo do grafico de barras agrupados e o mesmo deu o erro JPGRAPH ERROR:

One of Objects submited to GroupBar is not a BarPlot. Make sure that you creat the Group Bar plot from an array of Barplot or AccBarplot objects.

Alguem saberia me dizer o pq disso??? o exemplo esta IDENTICO o meu nao mudei nada no codigo.

Obrigado.

[17] Comentário enviado por marciarf em 05/09/2007 - 10:22h

d

[18] Comentário enviado por marciarf em 05/09/2007 - 10:24h

Olá
Estou tentando usar o pacote de instalação wamp5 com a classe jpgraph, mas sempre da erro relativo a instalação da biblioteca gd2. Ela está no php.ini, portanto acho que deve ter outro lugar para eu saber se realmente está instalada e habilitada. Você poderia me ajudar dizendo onde devo observar pra assegurar que realmente está isntalada?
Obrigada

[19] Comentário enviado por alexvc.com em 18/10/2007 - 22:41h

Estou com o mesmo problema do colega de cima, naum consigo instlar no wamp5, já fui lá no php.ini e descomentei linha referente ao gd2, porem o erro ainda persiste....

[20] Comentário enviado por comfaa em 28/10/2008 - 12:59h

muito legal !!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts