Para crear gráficas en php no he encontrado mejor herramienta que jpgraph. Es gratuito si no se usa comercialmente y su uso es muy sencillo.
Tiene muchos tipos de gráficas para representar datos y se instala fácilmente en cualquier servidor: Copiando la carpeta src en el servidor web, renombrándola a jpgraph y luego simplemente enlanzando dentro de nuestro script php las librerías.
Así por ejemplo podemos crear un gráfico simple con unos datos sobre la renta per cápita de distintos países:
Para generar este gráfico hay que seguir estos pasos:
Incluir las librerias (la ruta dependerá de donde las hayamos copiado):
include ("../../jpgraph/jpgraph.php");
include ("../../jpgraph/jpgraph_bar.php");
Creamos dos arrays con los datos que se van a representar (eje x e y):
$datax = array("Alemania", "España", "Francia", "Italia", "Reino Unido");
$datay = array(43267, 22368, 37644, 32949, 39762);
Creamos el objeto del gráfico de un tamaño de 500px * 200px y establecemos que el eje x es texto y el eje y es numérico:
$graph = new Graph(500,200,"auto");
$graph->SetScale("textlin");
Establecemos los márgenes del gráfico y le añadimos una sombra por detrás:
$graph->img->SetMargin(50,100,20,40);
$graph->SetShadow();
Creamos un objeto de gráfica de barras, decimos que su color sea naranja, que se muestre la leyenda y que añada esa gráfica al objeto general.
$barra = new BarPlot($datay);
$barra->SetFillColor("orange");
$barra->SetLegend("Euros");
$graph->Add($barra);
Le añadimos un título al gráfico y otro a uno de los ejes, poniendo ambos en negrita:
$graph->title->Set("Renta per cápita");
$graph->xaxis->title->Set("Países");
$graph->title->SetFont(FF_FONT1,FS_BOLD);
$graph->xaxis->title->SetFont(FF_FONT1,FS_BOLD);
Añadimos el texto del eje x y finalmente lo mostramos:
$graph->xaxis->SetTickLabels($datax);
$graph->Stroke();
tengo dudas sobre el jpgraph, necesito hacer unas graficas ya baje los archivos ya los descomprimi y hay varios archivos incluyendo ejemplos y manual completo, pero no se si halla algun problema, tengo miedo de que se me caiga el servidor o que genere errores en otros lados, mi pregunta es la siguiente: el jpgraph es completamente seguro, esto en cuanto a la informacion y claro el web, en caso de que lo sea solo tengo que colocar la carpeta donde tengo mis php.
gracias
En principio no hay ningún problema, ya que se trata de una librería php que a su vez hace uso de otra librería gráfica llamada GD que está instalada en la mayoría de los servidores web con php y es muy estable.
Y si solo se trata de colocarlo en la carpeta donde tienes tus php.
Pingback: SISTEMAS O.R.P » Blog Archive » Gráficas en flash
hola
quisiera saber como pouedo guardar la imagen, ya la genero, pero me gustaria guardarla temporalemte para poder guardar el gráfico en un archivo pdf.
me explico, le muestro la consualta al usuario, pero l doy la opción de que pueda guardarlo en una archivo pdf, como puedo hacerlo, utilizo la libreria FPDF pero ella me pide que ya exista la imagen en el disco duro, por eso no la puedo pasar al archico pdf.
gracias att Daniel
En la FAQ de la propia libreria te explica cómo:
http://www.aditus.nu/jpgraph/jpgraphfaq.php#F2.1
que no se trata de crear gráficas con datos que le metamos se trata de crear gráficas con resultados de consulta, vaya mierda de tutorial
Gracias buscaba algo asi ….
muy buen aporte pero tengo una duda, como puedo meter la grafica en un pdf si utilizo la libreria de fpdf para crear el pdf
Pingback: Gráficas en php con jpgraph
Hola quisiera saber como puedo hacer para que a la misma vez que aparezca el grafico pueda salir alguna tabla hecha siempre en el mismo archivo php
Tendrás que recuperar el gráfico con GD y usar las funciones de esa librería para crear la tabla.
Que tal buenas tardes, quiero saber si es posible si las etiquetas de $datosx pueden estar en forma vertical, por decir, en tu ejemplo: la eitqueta «Alemania» si es posible ponerla así:
A
l
e
m
a
n
i
a
De antemano agradezco la atención
No estoy seguro de que eso se pueda hacer, como mucho se podría rotar el texto entero.
Ok, Gracias de todos modos.
Pingback: Gráficas en php con jpgraph