Novacreations

Desarollando Software

Graficas Dinámicas con PHP y JpGraph

Una imagen vale más de mil palabras, y al momento de presentar información en una página web, el utilizar graficas en vez de enormes tablas, nos puede ayudar a conceptualizar mejor los datos.

PHP es una gran ayuda para esto, puesto que con el motor de gráficos GD nos permite generar gráficas en tiempo real sobre los datos que podemos tener en nuestras bases de datos. Una forma es implementar desde 0 esta herramienta, o usar librerías de código abierto ya existente que nos simplifican el trabajo. Una de ellas es Image_Graph del conjunto de paquetes PEAR. Otro es JpGraph, una librería orientada a objetos muy fácil de utilizar y ampliamente documentada. En esta guía daremos una introducción a como utilizar esta última librería para producir gráficas que acompañen a nuestro sitio.

Obteniendo JpGraph

JpGraph es software gratuito si lo utilizamos para sitios no comerciales. La página web es
http://www.aditus.nu/jpgraph/index.php
Desde donde podemos obtener la versión mas reciente.

Los requerimientos son mínimos, tener corriendo el apache y tener instalada la librería GD. Una vez descargado JpGraph, lo único que tenemos que hacer es copiar la carpeta en nuestra aplicación.

Utilizando JpGraph

Posteriormente es muy fácil crear graficas con este software. Veamos un ejemplo:

grafica.php

<?php
include (“jpgraph-1.19/src/jpgraph.php”);
include (“jpgraph-1.19/src/jpgraph_bar.php”);

// Establecemos los datos
$databary=array(12,7,16,6);
$months=$gDateLocale->GetShortMonth(); // Vamos a querer que maneje fecha

// Inicializamos la imagen de la gráfica
$graph = new Graph(300,200,’auto’);

// Escala linear en x
$graph->SetScale(“textlin”);

// Establecemos las etiquetas en X como los meses
$graph->xaxis->SetTickLabels($months);

// Creamos los datos y les ponemos una etiqueta
$b1 = new BarPlot($databary);
$b1->SetLegend(“Temperature”);

// Agregamos los datos a la gráfica
$graph->Add($b1);

// Y finalmente imprimimos la imagen
$graph->Stroke();
?>

Debemos recordar que este código nos manda una imagen, por lo que para imprimirla desde nuestra página html debemos poner:

<html>
<body>
<img src=”grafica.php”>
</body>
</html>

Otro ejemplo:

<?php
include (“jpgraph-1.19/src/jpgraph.php”);
include (“jpgraph-1.19/src/jpgraph_bar.php”);
$datay=array(1,2,3,4,5);
$graph = new Graph(350,300);
$graph->SetScale(“textlin”);
$bplot = new BarPlot($datay);
$graph->Add($bplot);
$graph->Stroke();
?>

Al cual por ejemplo, le podríamos agregar acceso a base de datos:

// conectamos a la base de datos
mysql_connect(“localhost”, “user”, “password”);
mysql_select_db(‘tu_base’);’
$result = mysql_query(“select * from datos”)
$data = new Array(); // creamos un arreglo en blanco, este será el de los datos

while ($line = mysql_fetch_array($result)) {
$data[] = $line[0]; // agregamos el dato, suponiendo que este en la primera posición del arreglo resultante

}

// aquí ya tenemos el arreglo en $data, solo le agregamos al código anterior

include (“jpgraph-1.19/src/jpgraph.php”);
include (“jpgraph-1.19/src/jpgraph_bar.php”);
$datay = $data;
$graph = new Graph(350,300);
$graph->SetScale(“textlin”);
$bplot = new BarPlot($datay);
$graph->Add($bplot);
$graph->Stroke();

Algunas ligas de interés:
Tipos de graficas soportados: http://www.aditus.nu/jpgraph/features.php
Documentación: http://www.aditus.nu/jpgraph/documentation.php
Descarga: http://www.aditus.nu/jpgraph/jpdownload.php
ImageGraph (Pear): http://pear.php.net/package/Image_Graph

Si tienes dudas sobre la instalación o uso de este paquete, revisa la documentación que viene en la descarga (cuenta también con muchos ejemplos) o visita los foros que están en la página del JpGraph. Pregunta en nuestros foros si tienes dudas sobre este paquete, su aplicación o implementación.



One Response so far.

  1. admin says:

    formato codigo / migrar imagenes


Subscribe to email feed



La fábrica de softw

La Fábrica de Software de la Dirección de Innovación y ...

Administradores de A

Durante años aplicación ES File Explorer era la mejor y ...

Apoyo del Conacyt a

El Consejo Nacional de Ciencia y Tecnología (Conacyt), como parte ...

Microsoft Surface St

Esta semana Microsoft anuncio la existencia de su nueva PC ...

Incuba tu proyecto c

¡Buscamos nuevas tecnologías! Si tu proyecto es seleccionado Telcel te otorgará ...

Las 10 funciones de

  Java 8 incluye nueva funcionalidad que nos permite tener un ...

Como usar una funci

Usar una función hash para encriptar una contraseña no es ...

Cómo escribir códi

Nunca supongas a la malicia lo que puede ser explicado ...

Las 114 preguntas de

¿Tienes una entrevista de trabajo en puerta para un posición Java? ...

Believe in technolog

Ziff Davis Publishing es la más grande editorial de contenidos ...