Olá pessoal,
No post de hoje vou mostrar como gerar gráficos utilizando uma função php e a API Chart do Google.
Bom, para quem não conhece, o Google Chart é uma API que auxilia no processo de criação de gráficos estatísticos de maneira fácil, dinâmica e sem precisar se comunicar diretamente com um webservice ou coisa parecida.
O Google Chart é capaz de nos gerar imagens de gráficos apenas lendo os parâmetros que passamos via URL.
Para entender melhor o que estou dizendo, entre nesse link: http://chart.apis.google.com/chart?chs=500×200&chd=t:70,30&cht=p3&chl=Homens|Mulheres
Através dos parâmetros chs, chd, cht e chl eu passei as informações para que fosse construído um gráfico estilo pizza3d(p3), nas dimensões 500x200px, onde as porcentagens são 70 e 30% e as referências são Homens e Mulheres.
Fácil né?
No entanto para tornar essa arte mais simples ainda, vamos construir uma função php que já nos gere o link com os parâmetros necessários. Assim, sempre que quisermos um gráfico basta chamar a função e passar os valores.
1 2 3 4 5 6 7 8 | <?php function geraGrafico($largura, $altura, $valores, $referencias, $tipo = "p3"){ $valores = implode(',', $valores); $referencias = implode('|', $referencias); return "http://chart.apis.google.com/chart?chs=". $largura ."x". $altura . "&chd=t:" . $valores . "&cht=p3&chl=" . $referencias; } ?> |
A função é simples também. Ela recebe a altura, largura, valores, referências e tipo do gráfico e nos retorna uma variável com a URL. Os valores e as referências devem ser passados em array e vale ressaltar que a ordem de ambos deve ser considerada uma vez que a posição 0 do array $valores associa-se ao valor 0 do array $referências e assim por diante.
Veremos agora como chamar essa função e com o link gerado mostrar o gráfico no navegador através da tag <img>
1 2 3 4 5 6 7 8 9 10 11 | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Gerador de gráficos do Google</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> </head> <body> <?php $grafico = geraGrafico(500, 200, array("70", "30"), array("Homens", "Mulheres")) ?> <img src="<?php echo $grafico ?>" title="Grafico gerado pelo Google Chart" /> </body> </html> |
E pronto! Exemplo simples mas que pode ser bastante útil. Para mais informações sobre essa API, visite http://code.google.com/intl/pt-BR/apis/chart/
Abs
Siga-me no twitter: @rafaelwendel
Como faço para fazer aparecer o valor do dado no gráfico?
valeu pela dica!!!
Olá Ricardo, valeu pela visita.
Volte sempre!
Abs
Muito bom o blog, dicas interessantes!
Valeu Maurício.
Abs
MUITO OBRIGADO! DEUS TE ABENÇOE!
Obrigado. Abs!!!
Muito bom, mas pergunto se há possibilidade de baixar API do google e fazê-lo funcionar em um servidor local, ou seja, sem a obrigatoriedade de ter uma conexão com a internet.
muito interessante, não conhecia esta api
Alguém sabe como gerar o gráfico de forma dinâmica buscando os dados de uma tabela mysql?
E aí Rafael blz cara?
Gostaria de fazer um gráfico em formato de pizza para na minha loja virtual! Inclusive gostaria de fazer com duas fatias, uma azul para o sexo feminino e uma rosa para o sexo masculino, mas gostaria de puxar essas informações baseado nas minhas vendas. Tem como embutir isso nesse gráfico e inseri-lo no meu e-commerce?
Grato desde já!
Opá muito bom, porém fica dúvida se eu quiser colocar um outro tipo de grafico onde faço a alteração?
tipo colocar grafico de barras?
Funcionou aqui, muito obrigado!
Cara muito bom e muito simples..
parabens e obrigado.
Excelente post, parabens!!!
Valeu garoto
Muito bom o post!
Sabe se tem como mudar a cor do gráfico?
Dica valiosa!
Obrigado professor!
Parabéns!
Valeu Luis. Abs!