Maison >développement back-end >tutoriel php >Dessiner des graphiques en PHP
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 !
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
htdocs
de XAMPP 5.5.28.
pChart
Ouvrez le dossier
Remarque :
class
fonts
pChart
Après avoir terminé la configuration
pChart
Dessinez un graphique à barres en utilisant
pChart
绘制条形图的 PHP 代码必须包含 class
Le code PHP permettant de dessiner un graphique à barres à l'aide de
pData.class.php
pImage.class.php
pDraw.class.php
pData.class.php
允许你加载将在图表中使用的数据。你需要 pDraw.class.php
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
. Vous devez utiliser PHP required_once()
pour inclure ces fichiers. pChart
set_include_path()
, vous pouvez utiliser des noms de répertoire courts pour PCART_PATH
set_include_path()
作为 pChart
required_once()
包含 pChart
constantes. set_include_path()
comme nom de répertoire court pour la classe pData
. required_once()
pour inclure la classe addPoints
方法将数据添加到 pData
Créez un nouvel objet pImage
Créez vos données ou importez-les. addPoints
pour ajouter des données à l'objet pData
的 setGraphArea
Utilisez des objets pData
的 drawScale
和 drawBarChart
Définissez la police du graphique. setGraphArea
de pData
的 Render
方法渲染图像。确保将 null
传递给 Render
Utilisez les méthodes drawScale
et drawBarChart
de Envoyez des informations d'en-tête pour indiquer au navigateur que vous envoyez une image.
Utilisez la méthode Render
de
null
à la méthode Render
. 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'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); ?>
pChart
drawSplineChart
Dessinez des splines en utilisant pData
的 Stroke
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
Le code suivant utilise
pour dessiner une spline. De plus, nous utilisons la policeMankSans.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'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
方法,例如 setAbscissa
、setSeriesOnAxis
和 setAxisName
。
现在,创建一个名为 weather_measurements
的数据库,然后使用以下命令创建一个表:
CREATE TABLE measures ( timestamp INT NOT NULL DEFAULT '0', 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 = "SELECT * FROM measures"; $mysql_result= mysqli_query($connect_to_mysql, $query_the_table); // Declare the variables for the database // records as empty strings. Later, we'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, "°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(); ?>
输出(你的时间会有所不同):
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!