A linguagem PHP nos oferece uma infinidade de recursos para criar e manipular imagens. Este artigo é o segundo da série que nos mostra como criar sofisticadas estruturas de gráficos com a classe jpgraph.
Como pudemos notar no gráfico anterior, meu artilheiro
Fumacinha, vulgo Orlando Fumaça marcou 26 gols
durante a semana, então nos surgiu a curiosidade de
saber como foi seu desempenho em cada dia, para
acompanharmos a evolução do artilheiro.
Para tal situação, optei pelo gráfico de linhas.
<?
include ("jpgraph.php");
include ("jpgraph_line.php");
// lista do número de gols marcados por fumacinha na semana
$gols_fumacinha = array (4, 5, 7, 0, 2, 4, 3);
// lista dos nomes dos dias da semana para nomear o gráfico
$dias_semana = array ("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab");
$grafico = new Graph(300,200,"auto");
$grafico->SetScale("textlin");
// Definir a quantidade de pixels em cada margem do gráfico,
// esquerda, superior, direita, inferior
// esquerda e inferior são maiores para comportar o título
// dos gráficos
$grafico->img->SetMargin(40,20,20,40);
$grafico->SetShadow();
// definir o gráfico de linhas
$lineplot = new LinePlot($gols_fumacinha);
$lineplot->mark->SetType(MARK_UTRIANGLE);
$lineplot->value->show();
[1] Comentário enviado por xunda em 30/05/2003 - 23:18h
Eu tenho uma dúvida. Fiz uma busca normal e quero dessa busca armazena os valores e desses valores derivar para o gráfico, mas não estou conseguindo, poderia me ajudar?
Eu peguei o teu exemplo para assim quem sabe esclarecer melhor a minha dúvida. Obrigada Ana.
$grafico = new graph(450,200,"png");
$grafico->img->SetMargin(40,40,40,40);
$grafico->SetScale("textlin");
// definir a imagem de fundo a ser usada pelo grafico
//$grafico->SetBackgroundImage('faixasuperior.jpg',BGIMG_FILLFRAME);
$grafico->title->Set('Viva o Linux Futebol Clube');
$grafico->subtitle->Set('www.vivaolinux.com.br');
$grafico->ygrid->Show(true);
$grafico->xgrid->Show(true);
$gBarras = new BarPlot($numGols);
$gBarras->SetFillColor("orange");
$gBarras->SetShadow("darkblue");
// com a funcao SetLegend estamos automaticamente criando uma legenda
// para o grafico
$gBarras->SetLegend("Gols marcados");
// criar mais um grafico de barras para o numero de gols sofridos
$gBarras2 = new BarPlot($numGolsSofridos);
$gBarras2->SetFillColor("red");
$gBarras2->SetShadow("darkblue");
$gBarras2->SetLegend("Gols sofridos");
$grupoBarras = new GroupBarPlot(array($gBarras,$gBarras2));
$grupoBarras->SetWidth(0.6);
$grafico->Add($grupoBarras);
$grafico->yaxis->title->Set("Gols");
$grafico->xaxis->title->Set("Dia da semana");
$grafico->xaxis->SetTickLabels($diasSemana);
[3] Comentário enviado por buzz_sbo em 04/05/2005 - 10:09h
Bom dia, gostaria de saber como fazer uma interação do JPGRAPH com meu banco de dados em MYSQL, por exemplo da coluna vertical ficariam os valores e na horizontal a data, mas eles só vão poder atribuir valores nos eixos apos uma consulta. A consulta já está pronta.
[7] Comentário enviado por farleypiva em 05/05/2009 - 15:41h
Oi Fabio! Seu artigo está muito bom! Parabéns!
Só tive uma dificuldade... o eixo y do meu grafico possui valores grandes, e eles estão ficando em cima da descrição do eixo. Mesmo aumentando a margem, o grafico e a descrição do eixo y são deslocados. Existe alguma forma de movimentar somente a descrição do eixo y ou somente o grafico?