Escolhendo uma biblioteca em PHP Para gerar Gráficos

16 12 2008

Introdução

Esta semana estive às voltas com um problema relativamente simples mas que me tomou 3 dias de trabalho. Um de nossos clientes solicitou alguns gráficos cujos dados eram extraídos de um sistema que estamos implantando, até ai tudo bem, o problema foi que a qualidade dos gráficos gerados pelas bibliotecas convencionais do php é bem baixa, serilhados e problemas de contorno são constantes, salvo a lib pChart, porém ela  ainda esta em um estágio ‘embrionário’  é não é muito fácil de usar e ainda possui alguns problemas de posicionamento de caracteres, sendo assim tive que partir para bibliotecas em Flash.

Bibliotecas que Testei

Fusion Charts

A Fusion Charts é uma excelente biblioteca,  no meu caso como não podia arcar com o custo da mesma tive que partir para a sua  versão free. Porém como todos devem imaginar a versão free tem limitações 😦

  1. O número de gráficos suportados é menor,  45 na versão 3 contra 22 na versão free. No meu caso isso não foi impedimento pois os tipos básicos estão contemplados na versão free e eram eles que eu queria, pizza e barras;
  2. A versão free não da suporte para  a versão do flash player 8, no começo não entendi o que esta restrição traria de vantagem em relação a versão paga, porém, no momento que meu cliente pediu para SALVAR o gráfico em imagem para inserir em uma apresentação do word entendi o motivo da limitação. A partir da versão 8 o flash player disponibiliza um método chamado get_img_binary,  esse método retorna uma imagem no formato png base 64, ou seja, não podia salvar o gráfico e com isso fui forçado a abandonar o Fusion Chart.

Open Flash Chart

A lib OFC é totalmente free, e surgiu a partir da revolta de um consumidor maltratado pela equipe de suporte de uma empresa que produzia justamente uma lib para criação de gráficos em flash. Trecho retirado do site oficial do OFC.

Yes. Once upon a time I had to deal with a company who sell flash charting components, their component had a bug that I needed fixing, so I emailed them about it asking when it’d be fixed. (Remember that I had paid real money for this software.) They were so incompetent, rude and obnoxious that after three or four weeks of emails I thought to myself “I could learn Flash and Actionscript and write my own charting component, release it as Open Source, host it on sourceforge and build up a community of helpful coders faster than they can fix a single bug.” And that is what I did. And that is why it is free. I guess the moral of the lesson is: don’t piss off your customers.

Esse texto me lembrou muito a a história do  maddog que a partir da revolta contra uma emrpesa de hardware criou a Open Source Fundation.

Comparando os gráficos gerados por ambas as bibliotecas as da Fusion Chart são superiores porém para as minhas necessidades os gráficos gerados pela OFC era suficientes, e supria o meu requisito de permitia o salvamento de imagem a partir do fráfico em flash.

Algumas considerações sobre o OFC:

  1. Se você já estiver usando a biblioteca prototype em sua aplicação será necessário realizar a alteração do arquivo chamado json2.js, troque o nome da variável this.JSON para this.JSONOFC, sem isso seu gráfico simplesmente não aparece na tela, e o pior não da erro nenhum;
  2. A OFC não possui gráfico de pizza em 3D :(.
  3. O site oficial http://teethgrinder.co.uk/open-flash-chart-2/ tem bastante coisa, mas é um pouco desorganizado porém o pessoal do forum é bastante ativo

Conclusão

Apesar da minha opinião pessoal ser a de evitar ao máximo o uso de flash em sistemas  devido aos problemas crônicos de usabilidade  do flash, existem  situações em que o uso do mesmo é necessário.

Antes de finalziar quero deixar documentado que testei algumas bibliotecas para geração de gráficos em JS mas infelizemten elas ainda estão pouco maduras e a quantidade de personalização é bem limitada, sem contar que gráficos com uma quantidade grande de dados demoram para serem gerados em computadores mais modestos. Se você está desenvolvendo uma aplicação simples com gráficos simples talvez libs em JS sejam uma boa escolha, porém para porte médio não aconselho o uso deste tipo de tecnologia.

Anúncios

Ações

Information

4 responses

17 12 2008
Daily Digest for 2008-12-16 | Pedro Trindade

[…] Escolhendo uma biblioteca em PHP Para gerar Gráficos « Anselmo […]

21 12 2008
Sandro J. S. Souza

A Fusion Charts é muito boa, pena ser paga. Mas ainda assim vale comprar a licença dela.

Recomendo muito a LibChart, que é excelente.

Já fiz até um tutorial sobre ela:

http://www.htmlstaff.org/ver.php?id=15639

22 12 2008
battisti

Poisé já testei essa ai e não gostei não, os gráficos ficam serrilhados!

17 02 2009
battisti

Galera abandonei o OFC, agora estou usando esse cara aqui:

http://amcharts.com/

não eh gratiz mas custa bem baratinho vale a pena!

Deixe um comentário

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: