- Escrito por CGM
- Publicado em Internet
- Lido 50099 vezes
- tamanho da fonte diminuir o tamanho da fonte aumentar o tamanho da fonte
- Comments (19)
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"
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!
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