+2

Gerando gráficos com a ferramenta charts

criado por José Guilherme Honorato Arante em 04/05/2006 5:49am
A diferença dessa ferramenta para as outras(JPGraph,PHPlot,GDlib) é que esta gera gráficos em formato swf(Flash).

Isto quer dizer que teremos um ganho na qualidade, elegancia, dinamismo nas imagens podendo ser um fator diferencial na hora da escolha em que ferramenta utilizar.

Nesse artigo irei apresentar apenas um exemplo basico de como o charts funciona e sua facil instalaçao. Deve-se certificar de que o browser tenha suporte a flash.

1ºpasso - Baixe o pacote charts em: http://www.maani.us/charts/index.php?menu=Download

2ºpasso - Descompacte

3ºpasso - Codificaçao dos arquivos

Exemplificando um codigo simples:

dados.php

<?php

include "charts.php";

$chart ['chart_data'] = array ( array ("","2001","2002","2003","2004" ),
array ("Region A",5,10,30,63),
array ("Region B",100,20,65,55),
array ("Region C",56,21,5,90)
);

SendChartData ( $chart );

?>
Este é o arquivo de manipulaçao dos dados. O exemplo acima fará a comparação de 3 regioes diferentes em relaçao ao ano de 2001,2002,2003 e 2004.
Na 1ºlinha deve-se incluir o arquivo 'charts.php' que conterá as funçoes que o pacote utiliza. Certifique-se do caminho completo do arquivo onde voce descompactou o pacote charts.
A funçao SendChartData() que transformará os dados em um arquivo .swf para saída.

Comentários:

Mostrando 1 - 10 de 14 comentários
Encontrei o mesmo problema no IE, isso me desanimou com a solução, estou o tempo todo tentando uma maneira, enviei cabeçalhos:

$http_h[] = "X-Manager-By: MyADM v1\n";

// criador
$http_h[] = "X-Created-By: Patrick Brandão\n";

// Data no passado, para forcar atualizacao
$http_h[] = "Expires: Mon, 26 Jul 1997 05:00:00 GMT\n";

// modificacao no tempo atual, para atualizar cache
$http_h[] = "Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT\n";
$http_h[] = "Cache-Control: no-store, no-cache, must-revalidate\n";
$http_h[] = "Cache-Control: post-check=0, pre-check=0\n";
$http_h[] = "Pragma: no-cache\n";
$http_h[] = "Conection: close\n";
$http_h[] = "\n";

// enviar cabecalhos
foreach($http_h as $cab){
header($cab);
}

mas nao adiantou, vou continuar testando e qualquer coisa posto a solução.
06/09/2006 1:22pm (~18 anos atrás)

Maicon Rafael disse:
Só tem um problema, quando eu acesso a mesma página onde tem os gráficos se for no IE ele não atualiza o gráfico mesmo dando F5 e mudando os valores do array, parece que o swf fica no cache do navegador, sabem como resolver isto?

no FF ele atualiza direitinho, mas nu ie não
13/06/2006 6:01am (~18 anos atrás)

Para usar estes recursos tem que comprar! Senão as imagem tem um link que levam ao site maani.us.
06/06/2006 8:12pm (~18 anos atrás)

Falae Dimas!
Tente colocar em Aplicacao.php:
echo InsertChart ( "charts.swf", "charts_library", 750, 400,"ffffff", false );

Largura 750 e altura 400. Tem como mudar usando a propria variavel do charts em dados.php use:

$chart [ 'draw' ] = array (
'width' => 400, 'height' => 200 )

para colocar altura 200 e largura 400.

Espero te-lo ajudado!
abraçoss
26/05/2006 8:43am (~18 anos atrás)

Falae damxrn!
Tente fazer como o elcompany disse. Coloque o path completo. Se possivel coloque os pacotes do charts dentro do seu projeto, pq ja tive erros até colocando o path inteiro.
abraçooo!
26/05/2006 8:34am (~18 anos atrás)

Falae galera! Poisé acho que um dos poucos problemas do charts é o fato de ser pago. 45 dólares... Se utilizarmos o pacote do charts do site oficial teremos alguns fatos indesejaveis que acontecerão. 1 - O grafico torna um link que redireciona para o site da maani.us.
2 - Se no caso o array $chart for nulo(ou seja se nao encontra nenhum resultado na busca) gera-se um .swf padrao indesejavel (algo como Region A e Region B, nada a ver com o exemplo acima).

Disso temos 2 saídas. Ou pegamos algum charts craqueado na internet, ou pagamos os 45 dolares. Achei um charts craqueado mas nao esta funcionando muito bem. A empresa onde trabalho irá comprar o pacote. Se tudo der certo, daqui uns tempos, se quiserem me mandar um email eu mando o charts craqueado.
faloo abraços!
26/05/2006 8:29am (~18 anos atrás)

Estou lendo o artigo agora e também estava com este problema.
No entanto, após consultar o site do desenvolvedor, resolvi meu problema, referenciando os arquivos corretamente....

Ex:
echo InsertChart ( "inc/charts.swf", "inc/charts_library", "teste.php"

charts.swf e charts_library estão corretamente apontados.

Espero ter ajudado
26/05/2006 7:11am (~18 anos atrás)

Click disse:
Amigo, parabéns pelo artigo.

Vou usar este espaço para expressar minha opinião sobre o PhpBrasil.
Mês passado enviei um e-mail perguntando se o Phpbrasil tem interesse numa matéria sobre programação em camadas (MVC) em PHP Orientado a Objetos e templates. Possuo experiência na área, já estou escrevendo o artigo.

O PHPBrasil não se deu ao trabalho nem de responder.

Na semana seguinte enviei o mesmo e-mail para o iMasters e responderam no mesmo dia, muito receptivos.

Um site como o iMasters, com qualidade muito superior ao Phpbrasil em conteúdo, atende muito melhor os seus usuários.

É uma pena, um site que leva o nome do PHP e do Brasil não prezar a qualidade!
16/05/2006 10:53am (~18 anos atrás)

Click disse:
Amigo, parabéns pelo artigo.

Vou usar este espaço para expressar minha opinião sobre o PhpBrasil.
Mês passado enviei um e-mail perguntando se o Phpbrasil tem interesse numa matéria sobre programação em camadas (MVC) em PHP Orientado a Objetos e templates. Possou experiência na área, já estou escrevendo o arigo.

O PHPBrasil não se deu ao trabalho nem de responder.

Na semana seguinte enviei o mesmo e-mail para o iMasters e responderam no mesmo dia, muito receptivos.

Um site como o iMasters, com qualidade muito superior ao Phpbrasil em conteúdo, atende muito melhor os seus usuários.

É uma pena, um site que leva o nome do PHP e do Brasil não prezar a qualidade!
16/05/2006 10:52am (~18 anos atrás)

Dam disse:
Colega me da uma ajuda!!!

fiz conforme o exemplo no arqtigo a titulo de teste mas somente apareceu um quadro cinza sem o grafico. Simplesmente não funcionou. o que pode ter ocorrido de grave uma vez que acompanhei conforme descrito no artigo que vc escreveu.
15/05/2006 1:05pm (~18 anos atrás)

Novo Comentário:

(Você pode usar tags como <b>, <i> ou <code>. URLs serão convertidas para links automaticamente.)