Logo
Imprimir esta página

Gráficos em PHP com a biblioteca PHPlot

Começamos a série de artigos com ênfase na linguagem de programação PHP.
O nosso primeiro artigo vai tratar do PHPlot, que é uma biblioteca de criação de gráficos. Com ela nós podemos criar diferentes tipos de gráficos, tais como:

  • pizza
  • linhas
  • linhas e pontos
  • barras
  • entre outros...

Para este artigo estamos usando o PHP5 com a extensão GD instalada e habilitada. O PHPlot utilizado está na versão 5.5.0.
Para quem tem a necessidade de utilizar a biblioteca com o PHP antigo (PHP4), ele só funciona nas versões 4.3.0 e 4.4.7, e com o PHPlot 5.0.4 e anteriores.
O suporte ao PHPlot só abrange as versões que atendem ao PHP5 (PHPlot 5.0.5 e superiores).
O site oficial da biblioteca PHPlot é http://sourceforge.net/projects/phplot/.

Chega de conversa e vamos para a munheca! Você também pode baixar o exemplo do artigo aqui

Abaixo temos a nossa index.html, que será a página de visualização do gráfico.

index.html

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
        <title>Gráficos em PHP com a biblioteca PHPlot</title>
    </head>
    <body>
        
            <fieldset>
                 <img src="/caminho_do_arquivo/getGraph.php" alt="Índice de Fecundidade Brasileira 1940-2000" title="Índice de Fecundidade Brasileira 1940-2000" />
             </fieldset>         
             

                 Dados do gráfico extraidos do <a href="http://www.ibge.gov.br/ibgeteen/pesquisas/fecundidade.html">site IBGE</a> 
                      
        
    </body>
</html>

Em seguida nós temos o arquivo getGraph.php responsável pela criação do gráfico

getGraph.php

<?php
// requisição da classe PHPlot
require_once 'phplot.php';
 
// Array com dados de Ano x Índice de fecundidade Brasileira 1940-2000
// Valores por década
$data = array(
             array('1940' , 6.2 ), 
             array('1950' , 6.2 ),
             array('1960' , 6.3 ),
             array('1970' , 5.8 ),
             array('1980' , 4.4 ),
             array('1991' , 2.9 ),
             array('2000' , 2.3 )
             );     
# Cria um novo objeto do tipo PHPlot com 500px de largura x 350px de altura                 
$plot = new PHPlot(500 , 350);     
 
// Organiza Gráfico -----------------------------
$plot->SetTitle('Taxa de fecundidade no Brasil 1940-2000');
# Precisão de uma casa decimal
$plot->SetPrecisionY(1);
# tipo de Gráfico em barras (poderia ser linepoints por exemplo)
$plot->SetPlotType("bars");
# Tipo de dados que preencherão o Gráfico text(label dos anos) e data (valores de porcentagem)
$plot->SetDataType("text-data");
# Adiciona ao gráfico os valores do array
$plot->SetDataValues($data);
// -----------------------------------------------
 
// Organiza eixo X ------------------------------
# Seta os traços (grid) do eixo X para invisível
$plot->SetXTickPos('none');
# Texto abaixo do eixo X
$plot->SetXLabel("Fonte: Censo Demográfico 2000, Fecundidade e Mortalidade Infantil, Resultados\n Preliminares da Amostra IBGE, 2002");
# Tamanho da fonte que varia de 1-5
$plot->SetXLabelFontSize(2);
$plot->SetAxisFontSize(2);
// -----------------------------------------------
 
// Organiza eixo Y -------------------------------
# Coloca nos pontos os valores de Y
$plot->SetYDataLabelPos('plotin');
// -----------------------------------------------
 
// Desenha o Gráfico -----------------------------
$plot->DrawGraph();
// -----------------------------------------------
?>

Se todos os passos foram realizados corretamente, acessando a index.html no seu navegador preferido, vamos obter o gráfico abaixo, cujo os dados foram retirados da página http://www.ibge.gov.br/ibgeteen/pesquisas/fecundidade.html sobre a "taxa de fecundidade no Brasil 1940/2000"

taxa de fecundidade no Brasil 1940/2000

Espero que o artigo tenha ajudado a conhecer esta biblioteca fantástica!
Qualquer dúvida ou sugestão não deixe de comentar.
Até breve!

Última modificação emTerça, 23 Setembro 2014 13:05
CGM

A CGM é uma empresa especializada em desenvolvimento de projetos de informática e sistemas personalizados.

A sólida parceria desenvolvida com seus clientes na última década atestam a vocação da CGM Automação no desenvolvimento de programas específicos com o que é de mais moderno em informática. Nossos profissionais comprovam uma longa experiência profissional, que é compartilhada com cada um de nossos clientes.

Website.: www.cgmautomacao.com.br

Itens relacionados (por tag)

Template Design © Joomla Templates | GavickPro. All rights reserved.