domingo, 19 de agosto de 2012

Crear gráficas con PHP jpgraph


En esta ocasión os voy a hablar de unas de las mejores librerías de gráficas de PHP,   jpGraph es dentro de la dificultad fácil de utilizar sobre todo gracias a la amplia documentación y a la gran variedad de ejemplo que puedes probar tu mismo, esta librería tiene dos opciones de descarga una es adquirir la licencia profesional de pago y otra adquirir la versión personal que es gratuita, yo tengo la versión gratuita y la verdad es que funciona a la perfección e incluye los ejemplos, documentación, etc ...
 
Para descargar la librería jpGraph ... http://jpgraph.net/download/
 
Esta librería crea una imagen con la gráfica que quieres, si vas a la carpeta src podrá ver que tiene una amplia cantidad de posibilidades para crear gráficas distintas y poder ir probando con cada una de ellas hasta encontrar la que más te guste. 














Veamos un ejemplo, he creado una carpeta en htdocs llamada jpgraph, he descargado la carpeta de jpgraph en ella ...


Para crear la gráfica he creado un archivo llamado imagen.php ...

 <?php 
 
require_once ('jpgraph/src/jpgraph.php');
require_once ('jpgraph/src/jpgraph_line.php');

//Coordenada Y. Van a ser tres líneas
//En el interior del array, se agrega cada valor, en este caso son cuatro valores
//para cada una de las líneas que dibujarán la gráfica
$datay1 = array(20,15,23,15);
$datay2 = array(12,9,42,8);
$datay3 = array(5,17,32,24);

// Dimensiones de la gráfica anchura, altura
$graph = new Graph(300,250);
$graph->SetScale("textlin");

// Agregándole uno de los themes
$theme_class=new UniversalTheme;
$graph->SetTheme($theme_class);
$graph->img->SetAntiAliasing(false);

// Título de la gráfica
$graph->title->Set('Ejemplo gráfica');
$graph->SetBox(false);

$graph->img->SetAntiAliasing();

$graph->yaxis->HideZeroLabel();
$graph->yaxis->HideLine(false);
$graph->yaxis->HideTicks(false,false);

$graph->xgrid->Show();
$graph->xgrid->SetLineStyle("solid");


//Coordenada X
$graph->xaxis->SetTickLabels(array('A','B','C','D'));
$graph->xgrid->SetColor('#E3E3E3');

// Creando la primera línea y dándole las características gráficas
$p1 = new LinePlot($datay1);
$graph->Add($p1);
$p1->SetColor("#6495ED");
$p1->SetLegend('Línea 1');

// Creando la segunda línea y dándole las características gráficas
$p2 = new LinePlot($datay2);
$graph->Add($p2);
$p2->SetColor("#B22222");
$p2->SetLegend('Línea 2');

// Creando la tercera línea y dándole las características gráficas
$p3 = new LinePlot($datay3);
$graph->Add($p3);
$p3->SetColor("#FF1493");
$p3->SetLegend('Línea 3');

$graph->legend->SetFrameWeight(1);

// Genera la gráfica
$graph->Stroke();

?>


Y listo ya tenemos nuestra gráfica ...
gráficas php




1 comentario:

Unknown dijo...

me podrias decir como le haces para obter el color de relleno en la grafica inverted Y-axis y para poner la imagen de fondo seria igual que en la grafica de fondos???