Google Charts es un API de Google que permite crear gráficos estadísticos de manera sencilla, estos gráficos se pueden crear accediendo a un URL con los parámetros adecuados. Entre los gráficos disponibles se encuentran: Line chart, Sparkline, Bar chart, Pie chart, Venn diagram, Scatter plot, Radar chart, Map, Google-o-meter, QR codes.
Por ejemplo podríamos crear un gráfico del tipo Pie en 3D con dos valores tendríamos un URL de la forma: http://chart.apis.google.com/chart?cht=p3&chd=t:60,40&chs=300x120&chl=Hombres|Mujeres
Google Charts con PHP
Para facilitarnos el proceso de crear estos gráficos existe la clase googchart escrita en PHP 5, el cual brinda una serie de métodos para generar gráficos estadísticos complejos con lineas de código sencillas.
Para utilizar esta clase primero descargamos la librería y copiamos el archivo GoogChart.class.php el cual contiene la clase que necesitamos, luego incluimos este archivo al inicio de nuestros scripts.
-
include('GoogChart.class.php');
-
$chart = new GoogChart();
A continuación creamos un array con los datos que deseamos graficar, el siguiente paso es crear el array con los colores a utilizar y finalmente utilizamos el método setChartAttrs donde pasamos como parámetros el tipo de gráfico, el titulo, un array con los datos a graficar, las dimensiones del gráfico y finalmente un array con los colores a utilizar en el gráfico.
-
'IE7' => 22,
-
'IE6' => 30.7,
-
'IE5' => 1.7,
-
'Firefox' => 36.5,
-
'Mozilla' => 1.1,
-
'Safari' => 2,
-
'Opera' => 1.4,
-
);
-
'#99C754',
-
'#54C7C5',
-
'#999999',
-
);
-
'type' => 'pie',
-
'title' => 'Browser market 2008',
-
'data' => $data,
-
'color' => $color
-
));
Finalmente mostramos la imagen imprimiendo la variable $chart y generaremos la imagen deseada como se muestra a continuación.
Ahora si por ejemplo deseamos crear un gráfico de barras comparando dos valores, creamos primero un array multi-dimensional con los valores que deseamos graficar y al momento de crear el gráfico seleccionamos el tipo bar-vertical tendríamos el siguiente ejemplo:
-
include('GoogChart.class.php');
-
$chart = new GoogChart();
-
-
'IE7' => 22,
-
'IE6' => 30.7,
-
'IE5' => 1.7,
-
'Firefox' => 36.5,
-
'Mozilla' => 1.1,
-
'Safari' => 2,
-
'Opera' => 1.4,
-
),
-
'IE7' => 22,
-
'IE6' => 30.7,
-
'IE5' => 1.7,
-
'Firefox' => 36.5,
-
'Mozilla' => 1.1,
-
'Safari' => 2,
-
'Opera' => 1.4,
-
),
-
);
-
'#99C754',
-
'#54C7C5',
-
'#999999',
-
);
-
'type' => 'bar-vertical',
-
'title' => 'Browser market 2008',
-
'data' => $data,
-
'color' => $color,
-
'labelsXY' => true,
-
));
-
echo $chart;
Con lo cual obtenemos el gráfico de barras comparativo de dos tipos de datos como se muestra a continuación.
Como pueden ver los resultados son de muy buena calidad y el código para la creación es muy sencilla. Además al utilizar Google Charts API es que el procesamiento se hace en los servidores de Google con lo cual ahorramos capacidad de procesamiento en nuestros servidores.
Para una lista completa de los tipos de gráficos disponibles pueden leer Chart Types o también pueden leer la documentación completa en Developer's Guide.
Posts Relacionados



Comentarios Total 7 comentarios
Publicado: 14/10/2009 7:44 am
Muy interesante la información. Estoy seguro que le encontraré aplicaciones muy prácticas.
Publicado: 14/10/2009 8:08 am
[...] This post was mentioned on Twitter by XanelaWeb, Miguel Monroy. Miguel Monroy said: Gráficos con PHP y Google Charts http://sn.im/sia5t [...]
Publicado: 14/10/2009 12:14 pm
¿Qué tipo de gráficos se pueden encontrar en esa clase?
Saludos
Muy inbteresante
Publicado: 14/10/2009 12:29 pm
Oye, bueníiiiiisimo!
Yo llevo años trabajando con otra librería PHP que no está nada mal. Pero lo que me ha encantado es la idea de la API por GET !!!! ey… eso está genial!
Probablemente me descargue la clase GoogChart y le monte una API para mí en mi servidor, a la que le voy a añadir un sistema básico de caché, de tal forma que cada vez que reciba una petición mirará si ya se pidió antes ese gráfico para no hacer el trabajo 2 veces :))
Saludos!
SERGI
PD: me encanta tu blog y tus artículos. Principalmente porque escribes solamente cuando tienes algo novedoso que aportar, y lo haces con mucha claridad y ejemplos. Yo intento lo mismo, pero aún no me sale como a ti :P
Publicado: 14/10/2009 7:43 pm
[...] Visit link: Gráficos con PHP y Google Charts [...]
Publicado: 21/12/2009 4:58 pm
Unijimpe as trabajado con pchart
Publicado: 24/12/2009 12:55 am
Al parecer esta muy bueno esto, ¿¿¿¿pero funciona con registros llamados desde una base de datos??????????
si es asi como se podria mas o menos, es que tengo que implementar unos reportes que tienen que tener graficos.
ademas una pregunta ustedes saben como pasar una imagen de php a ecxel??
por ejemplo con un echo(“”); pasarle esta imagen junto con los demas datos a un buffer.