Está en la página 1de 5

¿Qué es JpGraph?

Es una librería que incluye una secuencia de clases -código orientado a objetos- que sirven
para producir imágenes con toda clase de gráficas, dinámicamente a partir de páginas PHP.

El sistema está bastante depurado y aguanta muchedumbre de funciones, por lo cual


seguramente encontraremos solución a casi cualquier necesidad dentro de construcción de
gráficas. Además, la mayor parte de las configuraciones de las gráficas vienen con
posibilidades por defecto, de esta forma que resulta bastante sencillo obtener resultados
velozmente.

Algunas de las propiedades del sistema son:

 Limitado peso en bytes de las imágenes resultado. Usualmente unas escasas KB.
 Soporte a las librerías GD1 o GD2.
 Uso de la Interpolación matemática para obtener curvas a partir unos pocos valores.
 Diferentes tipos de gráficas 2D o 3D, como de aspectos, líneas, tartas, barras,
cajas...
 Escalas flexibles tanto en el eje X como el Y, que se ajustan al juego de datos que se
tenga que representar.
 Soporte para producir gráficas con diversos juegos de valores a la vez.
 Configurable con diversos tipos de colores, leyendas, tipografías, imágenes de
fondo, etcétera.

Cómo utilizar JpGraph

Este juego de librerías dispone de una vasta documentación y tutoriales para aprender a
manejarlo. En la documentación se hallan además varios ejemplos de su uso, a partir de los
que tenemos la posibilidad de partir para resolver nuestras propias necesidades. El modo de
trabajo para utilizar esta librería es bastante fácil, hablamos de generar una imagen con la
etiqueta de HTML, en cuyo atributo src colocaremos la ruta hacia el script PHP que se
encargará de producir la gráfica. En el documento PHP que generará la gráfica tendremos
que integrar las librerías apropiadas para el tipo de gráfica que deseemos hacer, además
habrá que instanciar el objeto JpGraph que corresponde, cargar los datos a visualizar y
llamar a los procedimientos adecuados para demostrar la imagen. Un mecanismo bastante
sencillo que observaremos en dos ejemplos posteriormente.

Ejemplo 1: Una gráfica de línea

En este ejemplo vamos a producir una gráfica lineal en la que mostraremos las horas de
trabajo de una persona durante 10 días. La generación de la gráfica de este ejemplo la
hacemos en un documento que hemos denominado grafico linea.php, por consiguiente, la
llamada a este documento en una imagen va a ser la siguiente:

<img src="grafico_linea.php" alt="" border="0"> El código PHP del archivo


grafico_linea.php es el siguiente:
<?php
include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_line.php");
// Some data
$ydata = array(11.5,3,8,12,5,1,9,13,5,7);
// Create the graph. These two calls are always required
$graph = new Graph(450,250,"auto");
$graph->SetScale("textlin");
$graph->img->SetAntiAliasing();
$graph->xgrid->Show();
// Create the linear plot
$lineplot=new LinePlot($ydata);
$lineplot->SetColor("black");
$lineplot->SetWeight(2);
$lineplot->SetLegend("Horas");
// Setup margin and titles
$graph->img->SetMargin(40,20,20,40);
$graph->title->Set("Ejemplo: Horas de Trabajo");
$graph->xaxis->title->Set("Días");
$graph->yaxis->title->Set("Horas de Trabajo");
$graph->ygrid->SetFill(true,'#EFEFEF@0.5','#F9BB64@0.5');
//$graph->SetShadow();
// Add the plot to the graph
$graph->Add($lineplot);
// Display the graph
$graph->Stroke();
?>

Ejemplo 2: Una gráfica de tarta en 3D

Por otro lado, vamos a hacer un caso muestra de una gráfica de tarta, en la que aparecen las
horas llevadas a cabo por todos los empleados y el porcentaje en relación a las totales. En
esta situación, la tarta va a manifestarse en un dibujo en 3 magnitudes. El documento donde
se crea la gráfica se denomina grafico tarta.php. Lo llamaríamos en una imagen con este
código HTML.
<img src="grafico_tarta.php" alt="" border="0">
El código PHP del archivo grafico_tarta.php será el siguiente:
<?php
include ("jpgraph/jpgraph.php");
include ("jpgraph/jpgraph_pie.php");
include ("jpgraph/jpgraph_pie3d.php");
$data = array(40,60,21,33);
$graph = new PieGraph(450,200,"auto");
$graph->img->SetAntiAliasing();
$graph->SetMarginColor('gray');
//$graph->SetShadow();
// Setup margin and titles
$graph->title->Set("Ejemplo: Horas de Trabajo");
$p1 = new PiePlot3D($data);
$p1->SetSize(0.35);
$p1->SetCenter(0.5);
// Setup slice labels and move them into the plot
$p1->value->SetFont(FF_FONT1,FS_BOLD);
$p1->value->SetColor("black");
$p1->SetLabelPos(0.2);
$nombres=array("pepe","luis","miguel","alberto");
$p1->SetLegends($nombres)
// Explode all slices
$p1->ExplodeAll();
$graph->Add($p1);
$graph->Stroke();
?>
Conclusiones:

 JpGraph es un instrumento bastante potente para la generación de gráficos en


nuestra página web y debido a su uso nos percatamos de sus muchas bondades:
 Es una librería gratuita (para uso no comercial), simple de instalar y de simple
desempeño.
 Incluye una completa documentación con muchedumbre de ejemplos de los
diversos gráficos que tienen la posibilidad de crear.
 Además de crear varios tipos de gráficos, posibilita 'customizar' casi todo lo cual se
ve, resultando esto bastante eficaz para integrar perfectamente el gráfico en el
diseño de nuestra web.
 La manera de integrar el gráfico es bastante simple: sólo se necesita integrar una
imagen (etiqueta) cuyo src sea el script PHP que generará nuestro gráfico (ver
ejemplos).

Pocas deficiencias en la librería, unicamente se podría mejorar lo próximo:

 Los mensajes de error son algo escasos y la mayotía de las veces una vez que algo
fracasa no obtenemos ni una especificación.
 Se echa de menos algo de definición en los gráficos, más que nada en los gráficos
de sectores.

También podría gustarte