Início > GD: Graphic Library > Perl + GD Graphic Library: Exemplo 2 (Gráfico de Área)

Perl + GD Graphic Library: Exemplo 2 (Gráfico de Área)

Este exemplo utilizará o módulo GD::Graph para a criação de um Gráfico no estilo Área.

Assim, as primeiras instruções do programa serão:

use GD;

e

use GD::Graph::area;

Obs.: Usamos ‘GD::Graph::area’ pois nosso objetivo é criar um gráfico de área.

Tendo então os módulos carregados, podemos iniciar a construção do programa.

Neste exemplo, assim como nos dois artigos posteriores, colocarei exemplos ficticios em duas listas, de campos e de valores, para a demonstração no programa.

my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’357’);

Estes dois itens serão armazenados em um array especial que guardará o endereço tanto array dos campos quanto a dos valores para que possa então esboçá-los no gráfico.

my @graf = (@campos,@valores);

Com todos os dados em mãos nos resta agora chamar a função que criará um novo gráfico.

Esta é a:

my $grafico = GD::Graph::area->new(500, 300);

Agora temos na variável $grafico uma nova instância de gráfico de área com 500x300px.

Para montar o gráfico utilizamos a função Graph set , passando o rótulo horizontal, o rótulo vertical e o título do gráfico:

$grafico->set(
x_label => ‘Mes’, # Rótulo horizontal
y_label => ‘Número de Visitas’, # Rótulo vertical
title => ‘Visitas Mensais de “Um Site Qualquer”‘, # Título do gráfico
) or warn $grafico->error;

Com isto o gráfico será criado, a menos que o warn retorne algum erro.

O próximo passo é passar os dados para o esboço.

A função plot faz isto:

$grafico = $grafico->plot(@graf) or die $grafico->error;

Se nenhum erro for retornado é sinal de que o gráfico foi criado com sucesso.

Nos resta então apenas exibí-lo na tela:

binmode STDOUT;
print “Content-type: image/pngnn”;
print $grafico->png;


Resultado: gd-exemplo2.cgi


Veja o Código Completo:
(gd-exemplo2.cgi)

#!/usr/bin/perl
use GD;
use GD::Graph::area;
#  Usamos ‘GD::Graph::area’ pois nosso objetivo é criar um gráfico de área

######## Cria as variáveis para exibir o gráfico ########
my @campos = (‘Out 2007′,’Nov 2007′,’Dez 2007′,’Jan 2008′,’Fev 2008′,’Mar 2008’);
my @valores = (‘547′,’2282′,’2798′,’2354′,’4326′,’357’);
my @graf = (@campos, @valores);
################################
######## Criação da imagem ########
my $grafico = GD::Graph::area->new(500, 300);
# Os valores de new são as dimensões do gráfico

$grafico->set(
x_label => ‘Mes’, # Rótulo horizontal
y_label => ‘Número de Visitas’,  # Rótulo vertical
title => ‘Visitas Mensais de “Um Site Qualquer”‘, # Título do gráfico
) or warn $grafico->error;

$grafico = $grafico->plot(@graf) or die $grafico->error;
##########################
####### Exibe o gráfico ######
binmode STDOUT;
print “Content-type: image/pngnn”;
print $grafico->png;



Perl + GD Graphic Library
[ 1 | 2 | 3 | 4 | 5 | 6 | 7 ]
  1. Nenhum comentário ainda.
  1. No trackbacks yet.

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: