Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
Linux: Jogando Nibbles
Por ph3l_1p3
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha



Artigo

Criando gráficos com a classe JPGraph (parte 2)
Linux user
fabio
10/01/2003
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.
Por: Fábio Berbert de Paula | Blog: https://twitter.com/fabiodovol
[ Hits: 80664 ]
Conceito: 8.5   1 voto(s)1 voto(s)1 voto(s)1 voto(s)1 voto(s) + quero dar nota ao artigo

Introdução

No primeiro artigo da série falamos sobre a importância de se utilizar classes avançadas para facilitar a criação de nossos gráficos, visto que a biblioteca GD possui funções muito "brutas" para uso no cotidiano de quem trabalha com estatísticas e imagens mais avançadas.

Também aprendemos como instalar a classe jpgraph em seu servidor UNIX e por fim a criar sofisticados gráficos de barras. Se você ainda não leu o artigo anterior, dê um pulinho na URL abaixo:

http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=22

No artigo de hoje deixaremos a parte teórica de lado e iremos direto ao que interessa, os exemplos práticos de gráficos, bon apetit!

Próxima página >>




Páginas do artigo
   1. Introdução
   2. Gráfico de Pizza
   3. Gráfico de Linhas
   4. Gráfico de Barras com Imagem de Fundo

Outros artigos deste autor

Leitura recomendada

Comentários
[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.


$busca_idpes_adv = "select idpes_adv from advogado_dj";
$busca = pg_exec($conn, $busca_idpes_adv);
for($i=0;$i<pg_numrows($busca);$i++)
{
$arr = pg_fetch_array($busca, $i, PGSQL_NUM);
$arr[0];
}
for($j = 0; $j < pg_numrows($busca); $j++){
$arr_outro = pg_fetch_row($busca, $j);
$idpes_adv = $arr_outro[0];
$busca_nome = "select nome from pessoa where idpes = ".$idpes_adv." ";
$busca1 = pg_exec($conn, $busca_nome);
$arr_nomeadv = pg_fetch_row($busca1,0);
echo $arr_nomeadv[0];
$diasSemana = $arr_nomeadv[0];
$busca_numproc = "select count(idproc) from processo_dj where idpes_adv = ".$idpes_adv." ";
$busca_num = pg_exec($conn, $busca_numproc);
$arr_numproc = pg_fetch_row($busca_num, 0);
echo $arr_numproc[0]."<br>";
$numGols = $arr_numproc[0];
}


include ("../../jpgraph/src/jpgraph.php");
include ("../../jpgraph/src/jpgraph_bar.php");


//$numGols = array ("8", "7", "12", "10", "7", "9", "11");

// definir um array com o numero de gols sofridos
$numGolsSofridos = array("3", "4", "13", "9", "1", "5", "10", "9");

//$diasSemana = array("Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sab");

$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);

$grafico->Stroke();
?>


[2] Comentário enviado por derli.r em 16/06/2003 - 10:22h:

Eu quero adicionar junto a porcentagem do grafico pizza o valor de cada Exemplo: 45% - 8 gols....
obrigado.Derli

[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.

[4] Comentário enviado por MauF em 05/01/2006 - 10:53h:

Ola, gostaria de saber como jogar para o gráfico o resultado de uma consulta feita no banco de dados Mysql?

Muito obrigado

[5] Comentário enviado por zebacking em 17/09/2006 - 00:28h:

ola, como ploto funçoes matematicas com esses graficos, tipo cos(x) e sin(x), dentre outras

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

muito legal !!!

[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?

Obrigado.


Contribuir com comentário


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.