JpGraph es una librería que nos permite generar gráficos mediante PHP, de una forma realmente sencilla y bajo nuestro total control. Sus principales características son:
- Detecta automáticamente que versión del GD.
- Permite insertar texto a los gráficos y soporte para tipos de letra.
- Niveles de transparencia.
- Posibilidad de generar complejos gráficos de Gantt.
- Manejo de las escalas para los ejes del gráfico.
- Soporta varios formatos de imágenes: PNG, GIF y JPG.
- Permite generar gráficas de barras horizontales.
- Soporte para gráficas de tipo científico.
- Soporte para generación de escala automática, dependiendo de los datos.
- Soporta para distintos tipos de relleno para las gráficas.
- Una excelente documentación.
Vamos a ver un par de ejemplos.
Generación de un gráfico de lineas
Lo primero que vamos a ver es como generar un gráfico de lineas:
<?php
include("include/jpgraph.php");
include("include/jpgraph_line.php");
//Array con los datos del gráfico
$datos = array(9, 5, 12, 11, 6, 10, 9, 11, 10, 4, 7, 3);
// Clase que genera el gráfico de tamaño 400x300
$grafico = new Graph(400, 300, "auto");
$grafico->SetScale("textlin");
// Creamos un juego de datos, del tipo linea
$lineplot = new LinePlot($datos);
$lineplot->SetColor("red");
// Añadimos el juego de datos
$grafico->Add($lineplot);
// Generamos el gráfico
$grafico->Stroke();
?>
Este gráfico quedaría de la siguiente forma:
Podemos tener también varios juegos de datos:
<?php
include("include/jpgraph.php");
include("include/jpgraph_line.php");
$datos1 = array(9, 5, 12, 11, 6, 10, 9, 11, 10, 4, 7, 3);
$datos2 = array(5, 7, 1, 11, 13, 4, 9, 6, 12, 7, 1, 4);
$grafico = new Graph(400, 300, "auto");
$grafico->SetScale("textlin");
$lineplot1 = new LinePlot($datos1);
$lineplot1->SetColor("red");
$lineplot2 = new LinePlot($datos2);
$lineplot2->SetColor("green");
$grafico->Add($lineplot1);
$grafico->Add($lineplot2);
$grafico->Stroke();
?>
<
Este gráfico quedaría de la siguiente manera:
Podemos además añadir texto al gráfico:
<?php
include("include/jpgraph.php");
include("include/jpgraph_line.php");
$datos1 = array(9, 5, 12, 11, 6, 10, 9, 11, 10, 4, 7, 3);
$datos2 = array(5, 7, 1, 11, 13, 4, 9, 6, 12, 7, 1, 4);
$grafico = new Graph(400, 300, "auto");
$grafico->SetScale("textlin");
// Titulo del gráfico
$grafico->title->Set("Ejemplo JpGraph");
// Etiqueta para el eje X
$grafico->xaxis->title->Set("Eje X");
// Etiqueta para el eje Y
$grafico->yaxis->title->Set("Eje Y");
$lineplot1 = new LinePlot($datos1);
$lineplot1->SetColor("red");
$lineplot2 = new LinePlot($datos2);
$lineplot2->SetColor("green");
$grafico->Add($lineplot1);
$grafico->Add($lineplot2);
$grafico->Stroke();
?>
Esta vez el gráfico nos quedaría de la siguiente forma:
Como se puede ver es bastante sencillo e intuitivo. Pero con esto basta por hoy, en próximos días veremos otros tipos de gráficos y como personalizar estos mucho más.
Y para finalizar los archivos con los ejemplos (no incluye JpGraph, que hay que meterlo en una carpeta llamada include):
Ejemplos con JpGraph. Parte I.
Artículos relacionados:
Tags: Generar gráficos, JpGraph, PHP