Cómo crear un gráfico usando PHP

Cómo crear un gráfico usando PHP

Un requisito muy común del sitio web comercial es crear un gráfico basado en los datos recopilados del sitio web para encontrar diferentes tipos de información estadística de los usuarios objetivo y el progreso actual de la empresa. Esta información ayuda a hacer crecer el negocio más rápido. Entonces, el programador web debe obtener un conocimiento básico de la creación del gráfico. El gráfico puede generarse mediante scripts del lado del servidor y del lado del cliente. El desarrollador puede seleccionar cualquier tipo de script basado en los requisitos del sitio web. Existen algunas ventajas y desventajas de usar los gráficos del lado del servidor y del lado del cliente. El gráfico generado por el script del lado del servidor aumenta la sobrecarga del servidor que hace que el sitio sea más lento. Los usuarios finales pueden perder la paciencia cuando las imágenes del gráfico necesitan más tiempo para descargar. Este problema de crear una tabla en el sitio web se puede omitir utilizando el cuadro del lado del cliente. El gráfico se genera localmente obteniendo datos XML o JSON del servidor en un script del lado del cliente. La tabla creada por el script del lado del cliente hace que la descarga sea más rápida, y se pueden crear varios gráficos personalizados, como aplicar la animación en el gráfico y hacer que el gráfico sea atractivo. En este tutorial, aprenderá a crear el gráfico utilizando la biblioteca PHP del lado del servidor.

Gráfico del lado del servidor:

Muchas bibliotecas de gráficos PHP de servidor gratuito y comercial están disponibles ahora. pchart, phpchartjs, fusioncharts, jpgraph, etc. son bibliotecas PHP para crear un gráfico del lado del servidor en la página web. Utilizando el Jpgraph La biblioteca ha sido explicada en este tutorial creando diferentes tipos de gráficos. La versión gratuita del Jpgraph La biblioteca ha sido utilizada en este tutorial.

JPGraph:

Es una biblioteca de gráficos a base de objetos que crea diferentes tipos de gráficos, como gráficos de línea, gráficos de barras y gráficos circulares. Está disponible en versiones gratuitas y pagadas. La versión paga se utiliza con fines comerciales y puede crear un código de barras o código QR. Tienes que descargar la biblioteca jpgraph antes de usarla. Vaya a la siguiente dirección de URL y descargue la biblioteca:

https: // jpgraph.red/descargar/

Después de descargar la biblioteca, descomprima el archivo y guárdelo en la carpeta donde se ejecutará el script PHP. He almacenado carpeta dentro /var/www/html/phpcode carper. La creación de diferentes tipos de gráficos utilizando esta biblioteca se mostrará en la siguiente parte de este tutorial.

Ejemplo 1: Crear gráfico de línea

Cree un archivo PHP con el siguiente script para dibujar un gráfico de línea de color verde. Se ha utilizado una matriz para establecer los datos para dibujar el gráfico. El Grafico El objeto se ha utilizado para mostrar el gráfico y el Plan El objeto se ha utilizado para crear el gráfico de línea utilizando el Grafico objeto.

// Incluye los archivos necesarios para dibujar la tabla de línea
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_line.php ');
// Establecer los datos
$ data = array (10,6,16,23,11,9,5);
// Declarar el objeto gráfico
$ gráfico = nuevo gráfico (400,250);
//Limpiar todo
$ Graph-> ClearTheme ();
// Establecer la escala
$ Graph-> setscale ('textlin');
// Establecer la gráfica lineal
$ linept = new LinePlot ($ data);
// Establecer el color de la línea
$ linept-> setColor ('verde');
// Agregar la trama para crear el gráfico
$ Graph-> add ($ linept);
// Muestra el gráfico
$ Graph-> Stroke ();
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Ejemplo 2: Creación de una tabla de barras acumulada

Cree un archivo PHP con el siguiente script para dibujar una tabla de barras acumulada. Se han utilizado dos matrices para establecer los datos para dibujar el gráfico. El Grafico El objeto se ha utilizado para mostrar el gráfico. El Placa de barcle y accBarplot Se han utilizado objetos para crear el gráfico de barras acumulado utilizando el Grafico objeto.

// Incluye los archivos necesarios para dibujar la tabla de barras
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// Establecer los datos
$ series1 = matriz (10,60,30,70,25,67,10);
$ series2 = matriz (34,89,56,12,59,70,23);
// Declarar objeto para dibujar el gráfico
$ gráfico = nuevo gráfico (500,300);
//Limpiar todo
$ Graph-> ClearTheme ();
// Establecer una configuración para el gráfico
$ Graph-> setscale ("textlin");
$ Graph-> setShadow ();
$ gráfico-> img-> setmargin (80,30,20,50);
// Crear objeto y colores para las parcelas de la barra
$ B1PLOT = nuevo Barplot ($ series1);
$ b1plot-> setFillColor ("azul");
$ b2plot = new Barplot ($ series2);
$ b2plot-> setFillColor ("rojo");
// Crear objeto para la gráfica de barra agrupada
$ GBPLOT = new ACCBARPLOT (Array ($ B1Plot, $ B2Plot));
// Agregar la trama para el gráfico
$ Graph-> add ($ GBPlot);
// establecer el título de la tabla, el eje X y el eje Y
$ gráfico-> title-> set ("Gráfico de barras acumuladas");
$ gráfico-> xaxis-> title-> set ("Series-1");
$ gráfico-> yaxis-> title-> set ("Series-2");
// Muestra el gráfico
$ Graph-> Stroke ();
?>
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Ejemplo 3: Crear gráfico de barras acumulada con gradiente

Cree un archivo PHP con el siguiente script para dibujar una tabla de barras acumulada con un gradiente. Se han utilizado dos matrices para establecer los datos para dibujar el gráfico. El Grafico El objeto se ha utilizado para mostrar el gráfico. El Placa de barcle y accBarplot Se han utilizado objetos para crear el gráfico de barras acumulado utilizando el Grafico objeto. El SetFillGradient () función del Grasa El objeto se ha utilizado en el script para establecer el color de gradiente del gráfico.

// Incluye los archivos necesarios para dibujar la tabla de línea
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// Establecer los datos
$ series1 = matriz (10,60,30,70,25,67,10);
$ series2 = matriz (34,89,56,12,59,70,23);
// Declarar objeto para dibujar el gráfico
$ gráfico = nuevo gráfico (500,300);
//Limpiar todo
$ Graph-> ClearTheme ();
// Establecer una configuración para el gráfico
$ Graph-> setscale ('textlin');
$ Graph-> setMargincolor ('White');
$ Graph-> title-> set ('Gráfico de barras acumulada con gradiente');
// Crear la primera barra
$ plot1 = new Barplot ($ series1);
$ plot1-> setFillGradient ('naranja', 'cian', grad_vert);
$ plot1-> setColor ('Darkred');
// Crear la segunda barra
$ plot2 = new Barplot ($ series2);
$ plot2-> setFillGradient ('azul', 'verde', grad_vert);
$ plot2-> setColor ('Darkgreen');
// y únete a ellos en una barra acumulada
$ GACCPLOT = new AccBarPlot ([$ plot1, $ plot2]);
$ Graph-> add ($ GACCPLOT);
// Muestra el gráfico
$ Graph-> Stroke ();
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Ejemplo 4: Creación de un gráfico de barra agrupado

Cree un archivo PHP con el siguiente script para dibujar un gráfico de barras agrupado. Se han utilizado tres matrices para establecer los datos para dibujar el gráfico. El Grafico El objeto se ha utilizado para mostrar el gráfico. El Placa de barcle y grupo de grupo Los objetos se han utilizado para crear el gráfico de barras agrupado utilizando el Grafico objeto.

// Incluye los archivos necesarios para dibujar la tabla de línea
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_bar.php ');
// Establecer la serie de datos
$ series1 = matriz (10,60,30,70,25,67,10);
$ series2 = matriz (34,89,56,12,59,70,23);
$ series3 = matriz (20,70,70,14,23,26);
// Declarar objeto para dibujar el gráfico
$ gráfico = nuevo gráfico (500, 300);
//Limpiar todo
$ Graph-> ClearTheme ();
// Establecer una configuración para el gráfico
$ Graph-> setscale ("textlin");
$ Graph-> setShadow ();
$ gráfico-> img-> setMargin (40,30,40,40);
$ gráfico-> xaxis-> setticklabels ($ gdatelocale-> getMonth ());
$ gráfico-> xaxis-> title-> setFont (ff_font1, fs_bold);
$ Graph-> title-> set ('gráfico de barras agrupado');
$ gráfico-> title-> setFont (ff_font1, fs_bold);
// Crear objetos de trazado
$ plot1 = new Barplot ($ series1);
$ plot2 = new Barplot ($ series2);
$ plot3 = new Barplot ($ series3);
// Establecer una configuración para la trama
$ plot1-> setFillColor ("Cyan");
$ plot1-> setShadow ();
$ plot2-> setFillColor ("azul");
$ plot2-> setShadow ();
$ plot3-> setFillColor ("Darkorange");
$ plot3-> setShadow ();
// Declarar objeto para la trama agrupada
$ plot = new GroupBarPlot (Array ($ Plot1, $ Plot2, $ Plot3));
// establecer el ancho de la trama
$ plot-> setwidth (0.6);
// Agregar trama
$ Graph-> add ($ gráfica);
// Dibuja el gráfico
$ Graph-> Stroke ();
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Ejemplo 5: Creación de un cuadro simple

Cree un archivo PHP con el siguiente script para dibujar un gráfico de pastel. Se ha utilizado una matriz para establecer los datos para dibujar el gráfico. El Grafico El objeto se ha utilizado para mostrar el gráfico y el Píldor El objeto se ha utilizado para crear la tabla de pastel simple utilizando el Grafico objeto.

// Incluye los archivos necesarios para dibujar la tabla de línea
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_pie.php ');
// Establecer los datos
$ data = array (10,15,16,23);
// Declarar el objeto gráfico
$ gráfico = nuevo PieGraph (400, 250);
//Limpiar todo
$ Graph-> ClearTheme ();
// establecer el título para el gráfico
$ Graph-> title-> set ("gráfico de pastel simple");
// Crear objetos de trazado
$ plot = new PiePLot ($ data);
// Agregar trama
$ Graph-> add ($ gráfica);
// Dibuja el gráfico
$ Graph-> Stroke ();
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Ejemplo 6: Crear un gráfico de pastel 3D

Cree un archivo PHP con el siguiente script para dibujar un gráfico de pastel 3D. Se han utilizado dos matrices para establecer los datos para dibujar el gráfico. El Gráfico de torta El objeto se ha utilizado para mostrar el gráfico y el Panplo3d El objeto se ha utilizado para crear la tabla de pastel simple utilizando el Gráfico de torta objeto.

// Incluye los archivos necesarios para dibujar la tabla de línea
require_once ('jpgraph-4.3.5/src/jpgraph.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_pie.php ');
require_once ('jpgraph-4.3.5/src/jpgraph_pie3d.php ');
// Establecer los datos
$ data = array (15, 13, 29, 45, 68, 31);
$ área = array ('dhaka', 'barisal', 'sylhet', 'comilla', 'Chandpur', 'bogra');
// Declarar el objeto gráfico
$ gráfico = nuevo PieGraph (550, 300);
//Limpiar todo
$ Graph-> ClearTheme ();
// Establecer una configuración para el gráfico
$ Graph-> Title-> set ("Ventas de área");
$ Graph-> Legend-> Setpos (0.01,0.2, 'correcto', 'correcto');
$ Graph-> Legend-> SetColumns (1);
$ Graph-> Legend-> SetLinespacing (15);
// Crear objetos de trazado
$ plot = new PIEPLOT3D ($ data);
$ plot-> setCenter (0.4);
$ plot-> setlegends ($ área);
// Agregar trama
$ Graph-> add ($ gráfica);
// Dibuja el gráfico
$ Graph-> Stroke ();
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script desde el servidor:

Conclusión:

En este artículo, todos los datos utilizados en los ejemplos anteriores son estáticos. Puede obtener datos fácilmente del servidor de base de datos utilizando PHP y usarlos para crear un gráfico basado en datos dinámicos. Si desea crear un gráfico más atractivo y una descarga más rápida, puede usar cualquier biblioteca popular del lado del cliente. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos e información.