Generar gráficos estadísticos con PHP + PHPlot

Anteriormente publiqué como generar graficos usando PChart, ahora quiero aportar un poco más de mi experiencia usando estas librerías.
Primero vamos a comenzar haciendonos la preguntas ¿Qué es PHPlot?, pues bien PHPlot es una librería que permite crear gráficas de apariencia profeional con ayuda de algunas líneas de código; el cual se basa en la librería GD ya conocida, ofreciendo a los usuarios únicamente algunas decenas de funciones entendibles y sencillas que permiten crear gráficas que no se alejan de la apariencia y posibilidad de éstas, tal como las que pueden ser construidas con las hojas de cálculos conocidas.

Bueno les dejo un ejemplo el cual nuestra un gráfico de barras con datos obtenidos de una consulta de BD (muy útil para reportes de ventas por ejemplo).

include(‘phplot/phplot.php’); //llamo a la librería

$ruta = ‘ruta/’; // establesco un directorio donde se almacenan los graficos

// le paso los datos recogidas de la consulta
foreach ($result_query as $value) {
$data_report []= array($value->title, $value->counter);
}

// ojo: los datos que debo enviar al grafico deben ser un array
$data = $data_report; // recojo los datos del array

// establesco las propiedades (tamaño,tipo,color y valores)
$plot = new PHPlot(800, 600);
$plot->SetImageBorderType(‘plain’);
$plot->SetPlotType(‘bars’);
$plot->SetDataType(‘text-data’);
$plot->SetDataValues($data);
$plot->SetDataColors(‘magenta’);
$plot->SetPlotAreaWorld(NULL, 0, NULL, NULL);
$plot->SetYTickIncrement(10000);
# Format the Y tick labels as numerics to get thousands separators:
$plot->SetYLabelType(‘data’);
$plot->SetPrecisionY(0);
# Main plot title: (titulo)
$plot->SetTitle(Productos mas visitados);
$plot->SetYTitle(‘Number of visits’);
$plot->SetXTickLabelPos(‘none’);
$plot->SetXTickPos(‘none’);

// finalmente el grafico se guarda en un temporal para luego ser mostrado en pantalla
ob_start();
$plot->DrawGraph();
$pic = ob_get_clean();
$fh = fopen( $ruta.”imagen.png”, “w” );
fwrite( $fh, $pic );
fclose( $fh );

y listo luego podemos llaamr desde una pagina simple html o un view a la imagen y tenemos nuestro grafico estadístico.

Comments