Maison  >  Article  >  développement back-end  >  Dessiner des graphiques en PHP

Dessiner des graphiques en PHP

WBOY
WBOYavant
2024-02-29 17:00:471266parcourir

PHP Editor Shinichi vous propose un guide détaillé sur le dessin de graphiques en PHP. Que vous dessiniez des formes géométriques de base ou créiez des graphiques de visualisation de données complexes, PHP offre de puissantes capacités de traitement graphique. Cet article présentera comment utiliser la bibliothèque GD de PHP et d'autres outils pour générer dynamiquement divers graphiques dans des pages Web, et explorera quelques conseils et technologies pratiques. Explorons le monde merveilleux du dessin graphique en PHP !


Configurez votre environnement

Avant d'utiliser pChart, vous devez d'abord installer php5. Vous pouvez obtenir PHP5 dans le cadre de XAMPP 5.5.28 depuis SourceForge.

Lorsque vous disposez de XAMPP 5.5.28, téléchargez-le depuis leur site officiel pChart。之后,将 pChart 提取到 XAMPP 5.5.28 的 htdocs. Après cela, extrayez

dans le dossier htdocs de XAMPP 5.5.28.

pChart Ouvrez le dossier

, sa structure devrait ressembler à l'image ci-dessous :

在 PHP 中绘制图形

Remarque :
  • class
  • Le dossier contient les définitions de classes que nous utiliserons.
  • fonts
  • Le dossier contient des fichiers de polices que nous pouvons utiliser dans nos diagrammes.

pChart Après avoir terminé la configuration

, vous pouvez maintenant commencer à dessiner.

pChart Dessinez un graphique à barres en utilisant

en PHP

pChart 绘制条形图的 PHP 代码必须包含 class Le code PHP permettant de dessiner un graphique à barres à l'aide de

doit contenir trois fichiers dans le dossier
    . Ces fichiers sont :
  • pData.class.php
  • pImage.class.php
  • pDraw.class.php

pData.class.php 允许你加载将在图表中使用的数据。你需要 pDraw.class.php

Dans ces fichiers,

permet de charger les données qui seront utilisées dans le graphique. Vous devez pImage.class.php 将让你在 WEB 浏览器中呈现图表。你必须使用 PHP required_once() dessiner le graphique.

Ensuite, PCART_PATH 常量。然后使用 set_include_path(),你可以为 pChart vous permettra d'afficher le graphique dans votre navigateur

WEB

. Vous devez utiliser PHP required_once() pour inclure ces fichiers. pChart

Vous pouvez les inclure en utilisant des chemins relatifs ou définir une constante
    . Ensuite, en utilisant set_include_path(), vous pouvez utiliser des noms de répertoire courts pour
  • classes. PCART_PATH
  • Cela dit, nous pouvons créer un graphique à barres avec
  • en suivant les étapes suivantes : set_include_path() 作为 pChart
  • Définissez required_once() 包含 pChart constantes.
  • Utilisez set_include_path() comme nom de répertoire court pour la classe pData.
  • Utilisez required_once() pour inclure la classe
  • .
  • addPoints 方法将数据添加到 pData Créez un nouvel objet
  • .
  • pImage Créez vos données ou importez-les.
  • Utilisez la méthode addPoints pour ajouter des données à l'objet
  • .
  • pDatasetGraphArea Utilisez des objets
  • pour créer des images pour les graphiques.
  • pDatadrawScaledrawBarChart Définissez la police du graphique.
  • Utilisez la méthode setGraphArea de
  • pour définir la zone du graphique.
  • pDataRender 方法渲染图像。确保将 null 传递给 Render Utilisez les méthodes drawScale et drawBarChart de
  • pour dessiner des échelles et des barres.

Envoyez des informations d'en-tête pour indiquer au navigateur que vous envoyez une image.

Utilisez la méthode Render de

pour restituer l'image. Assurez-vous de transmettre null à la méthode Render.

使用 pChart 绘制的条形图

Vous trouverez ci-dessous la mise en œuvre de ces étapes. Vous trouverez ci-dessous l'image de sortie dans Firefox 101.0.
<?php
// The definition of the PCHART_PATH assumes
// you have pChart one directory above your
// current working folder.
define("PCHART_PATH", "../pChart");
set_include_path(get_include_path() . PATH_SEPARATOR . PCHART_PATH);
// Since we have defined the path, and used
// the get_include_path() function, we can
// reference the class folder without writing
// its full path.
require_once "class/pDraw.class.php";
require_once "class/pImage.class.php";
require_once "class/pData.class.php";
// Create the pChart Object
$pchart_data = new pData();
// Some sample data that we&#39;ll use to plot
// the bar chart.
$sample_data_set = [5, 4, 3, 2, 1, 9, 10, 12];
$pchart_data->addPoints($sample_data_set);
// Create the pChart Image. The first two argument
// to the pImage object are the width and height
// of the rendered chart.
$pchart_image = new pImage(500, 300, $pchart_data);
// Set the font.
$pchart_image->setFontProperties(
["FontName" => PCHART_PATH . "/fonts/ForGotte.ttf",
"FontSize" => 16]
);
// Define the graph area. The first two arguments
// are the x-coordinates. While the last two are
// the y-coordinates.
$pchart_image->setGraphArea(35, 25, 475, 275);
$pchart_image->drawScale();
$pchart_image->drawBarChart();
// Render the chart as a PNG image
header("Content-Type: image/png");
$pchart_image->Render(null);
?>

Résultat : pChart

drawSplineChart

Dessinez des splines en utilisant pDataStroke en PHP

Le processus de dessin d'une spline est le même que celui d'une barre, sauf que vous utilisez la méthode pChart 绘制样条图。此外,我们使用的是 fonts 目录中的 MankSans.ttf pour dessiner la spline. De plus, vous pouvez choisir de ne pas envoyer le graphique sous forme d’image.

Au lieu de cela, vous pouvez choisir la méthode Stroke de

pour afficher le graphique dans un navigateur Web.

用 pChart 绘制的样条图 Le code suivant utilise

pour dessiner une spline. De plus, nous utilisons la police MankSans.ttf du répertoire
.

<?php
// The definition of the PCHART_PATH assumes
// you have pChart one directory above your
// current working folder.
define("PCHART_PATH", "../pChart");
set_include_path(get_include_path() . PATH_SEPARATOR . PCHART_PATH);
// Since we have defined the path, and used
// the get_include_path() function, we can
// reference the class folder without writing
// its full path.
require_once "class/pDraw.class.php";
require_once "class/pImage.class.php";
require_once "class/pData.class.php";
// Create the pChart Object
$pchart_data = new pData();
// Some sample data that we&#39;ll use to plot
// the spline chart.
$pchart_data->addPoints([4,2,1,4]);
// Create the pChart Image. The first two argument
// to the pImage object are the width and height
// of the rendered chart.
$pchart_image = new pImage(700, 220, $pchart_data);
// Set the font.
$pchart_image->setFontProperties(
["FontName" => PCHART_PATH . "/fonts/MankSans.ttf",
"FontSize"=> 18]
);
// Define the graph area. The first two arguments
// are the x-coordinates. While the last two are
// the y-coordinates.
$pchart_image->setGraphArea(60, 40, 670, 190);
$pchart_image->drawScale();
$pchart_image->drawSplineChart();
// Draw the chart as a stroke.
$pchart_image->Stroke();
?>
Résultat :

Dessinez un graphique à barres à partir de 🎜mysql🎜 🎜database🎜 en PHP🎜 🎜 Le dessin d'un histogramme suit des étapes similaires aux tracés à barres et aux splines. Il existe cependant quelques différences qui méritent d’être soulignées. 🎜

首先,直方图的数据将来自 Mysql。这意味着你应该有一个包含一些示例数据的数据库

其次,你将使用表列名称作为直方图上的轴。为此,你将使用一些 pData 方法,例如 setAbscissasetSeriesOnAxissetAxisName

现在,创建一个名为 weather_measurements 的数据库,然后使用以下命令创建一个表:

CREATE TABLE measures (
timestamp INT NOT NULL DEFAULT &#39;0&#39;,
temperature INT NOT NULL,
humidity INT NOT NULL
)

使用以下命令将样本数据插入 measures 表中:

INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 20, 50);
INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 18, 44);
INSERT INTO measures (timestamp, temperature, humidity) VALUES (UNIX_TIMESTAMP(), 19, 70);

确保样本数据在数据库中,然后使用以下命令创建直方图:

<?php
// The definition of the PCHART_PATH assumes
// you have pChart one directory above your
// current working folder.
define("PCHART_PATH", "../pChart");
set_include_path(get_include_path() . PATH_SEPARATOR . PCHART_PATH);
// Since we have defined the path, and used
// the get_include_path() function, we can
// reference the class folder without writing
// its full path.
require_once "class/pDraw.class.php";
require_once "class/pImage.class.php";
require_once "class/pData.class.php";
// Create the pChart Object
$pchart_data = new pData();

// Connect to MySQL
$connect_to_mysql = new mysqli("localhost", "root", "", "weather_measurements");

// query the database and get the result
$query_the_table = "SELEC&#84; * FROM measures";
$mysql_result= mysqli_query($connect_to_mysql, $query_the_table);
// Declare the variables for the database
// records as empty strings. Later, we&#39;ll
// turn them into arrays for better perfORMance
$timestamp = ""; $temperature = ""; $humidity = "";
while($row = mysqli_fetch_array($mysql_result, MYSQLI_ASSOC)) {
$timestamp[] = $row["timestamp"];
$temperature[] = $row["temperature"];
$humidity[]= $row["humidity"];
}

$pchart_data->addPoints($timestamp,"Timestamp");
$pchart_data->addPoints($temperature,"Temperature");
$pchart_data->addPoints($humidity,"Humidity");
// Put the table column on the appropriate axis
$pchart_data->setAbscissa("Timestamp");
$pchart_data->setSerieOnAxis("Humidity", 1);
$pchart_data->setXAxisName("Time");
$pchart_data->setXAxisDisplay(AXIS_FORMAT_TIME,"H:i");
// Dedicate the first and second axis to
// Temperature and Humidity.
$pchart_data->setAxisName(0, "Temperature");
$pchart_data->setAxisUnit(0, "&deg;C");
$pchart_data->setAxisName(1, "Humidity");
$pchart_data->setAxisUnit(0, "%");
// Create the pChart Image. The first two argument
// to the pImage object are the width and height
// of the rendered chart.
$pchart_image = new pImage(500, 300, $pchart_data);
// Set the font.
$pchart_image->setFontProperties(
["FontName" => PCHART_PATH . "/fonts/verdana.ttf",
"FontSize"=> 11]
);
// Set the graph area.
$pchart_image->setGraphArea(55,25, 475,275);
$pchart_image->drawScale();
$pchart_image->drawBarChart();
// Draw the chart as a stroke.
$pchart_image->Stroke();
?>

输出(你的时间会有所不同):

使用 pChart 绘制的直方图

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer