Heim  >  Artikel  >  Backend-Entwicklung  >  Zeichnen Sie Grafiken in PHP

Zeichnen Sie Grafiken in PHP

WBOY
WBOYnach vorne
2024-02-29 17:00:471266Durchsuche

PHP Editor Shinichi bietet Ihnen eine detaillierte Anleitung zum Zeichnen von Grafiken in PHP. Unabhängig davon, ob Sie grundlegende geometrische Formen zeichnen oder komplexe Datenvisualisierungsdiagramme erstellen, bietet PHP leistungsstarke Grafikverarbeitungsfunktionen. In diesem Artikel wird die Verwendung der GD-Bibliothek von PHP und anderer Tools zum dynamischen Generieren verschiedener Grafiken auf Webseiten vorgestellt und einige praktische Tipps und Technologien erläutert. Lassen Sie uns die wunderbare Welt des Zeichnens von Grafiken in PHP erkunden!


Richten Sie Ihre Umgebung ein

Bevor Sie pChart verwenden können, müssen Sie zunächst php5 installieren. Sie können PHP5 als Teil von XAMPP 5.5.28 von SourceForge erhalten.

Wenn Sie XAMPP 5.5.28 haben, laden Sie es von der offiziellen Website herunter pChart。之后,将 pChart 提取到 XAMPP 5.5.28 的 htdocs. Danach extrahieren Sie

in den Ordner htdocs von XAMPP 5.5.28.

pChart Öffnen Sie den Ordner

. Seine Struktur sollte wie im Bild unten aussehen:

在 PHP 中绘制图形

Hinweis:
  • class
  • Der Ordner enthält die Klassendefinitionen, die wir verwenden werden.
  • fonts
  • Der Ordner enthält Schriftartdateien, die wir in unseren Diagrammen verwenden können.

pChart Nachdem Sie die

-Einrichtung abgeschlossen haben, können Sie nun mit dem Zeichnen beginnen.

pChart Zeichnen Sie ein Balkendiagramm mit

in PHP

pChart 绘制条形图的 PHP 代码必须包含 class Der PHP-Code zum Zeichnen eines Balkendiagramms mit

muss drei Dateien im Ordner
    enthalten. Diese Dateien sind:
  • pData.class.php
  • pImage.class.php
  • pDraw.class.php

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

In diese Dateien können Sie mit

die Daten laden, die im Diagramm verwendet werden. Sie benötigen pImage.class.php 将让你在 WEB 浏览器中呈现图表。你必须使用 PHP required_once(), um die Grafik zu zeichnen.

Als Nächstes können Sie mit PCART_PATH 常量。然后使用 set_include_path(),你可以为 pChart das Diagramm in Ihrem

WEB

-Browser rendern. Sie müssen PHP required_once() verwenden, um diese Dateien einzubinden. pChart

Sie können sie über relative Pfade einschließen oder eine
    -Konstante definieren. Dann können Sie mit set_include_path() kurze Verzeichnisnamen für
  • Klassen verwenden. PCART_PATH
  • Allerdings können wir mit
  • ein Balkendiagramm erstellen, indem wir die folgenden Schritte ausführen: set_include_path() 作为 pChart
  • Definieren Sie required_once() 包含 pChart Konstanten.
  • Verwenden Sie set_include_path() als kurzen Verzeichnisnamen für die pData-Klasse.
  • Verwenden Sie required_once(), um die
  • -Klasse einzuschließen.
  • addPoints 方法将数据添加到 pData Erstellen Sie ein neues
  • -Objekt.
  • pImage Erstellen Sie Ihre Daten oder importieren Sie sie.
  • Verwenden Sie die Methode addPoints, um Daten zum
  • -Objekt hinzuzufügen.
  • pDatasetGraphArea Verwenden Sie
  • -Objekte, um Bilder für Diagramme zu erstellen.
  • pDatadrawScaledrawBarChart Legen Sie die Schriftart des Diagramms fest.
  • Verwenden Sie die Methode setGraphArea von
  • , um den Diagrammbereich festzulegen.
  • pDataRender 方法渲染图像。确保将 null 传递给 Render Verwenden Sie die Methoden drawScale und drawBarChart von
  • , um Skalen und Balken zu zeichnen.

Senden Sie Header-Informationen, um dem Browser mitzuteilen, dass Sie ein Bild senden.

Verwenden Sie die Render-Methode von

, um das Bild zu rendern. Stellen Sie sicher, dass Sie null an die Methode Render übergeben.

使用 pChart 绘制的条形图

Nachfolgend finden Sie die Umsetzung dieser Schritte. Unten ist das Ausgabebild in 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);
?>

Ausgabe: pChart

drawSplineChart

Zeichnen Sie Splines mit pDataStroke in PHP

Der Vorgang zum Zeichnen eines Splines ist derselbe wie das Zeichnen eines Balkens, außer dass Sie zum Zeichnen des Splines die pChart 绘制样条图。此外,我们使用的是 fonts 目录中的 MankSans.ttf-Methode verwenden. Darüber hinaus können Sie sich dafür entscheiden, das Diagramm nicht als Bild zu versenden.

Stattdessen können Sie die Stroke-Methode von

wählen, um das Diagramm in einem Webbrowser darzustellen.

用 pChart 绘制的样条图 Der folgende Code verwendet

, um einen Spline zu zeichnen. Zusätzlich verwenden wir die Schriftart MankSans.ttf aus dem Verzeichnis
.

<?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();
?>
Ausgabe:

Zeichnen Sie ein Balkendiagramm aus der 🎜MySQL-Datenbank🎜in PHP🎜 🎜 Das Zeichnen eines Histogramms folgt ähnlichen Schritten wie Balken- und Splinediagramme. Es gibt jedoch einige Unterschiede, die es wert sind, hervorgehoben zu werden. 🎜

首先,直方图的数据将来自 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 绘制的直方图

Das obige ist der detaillierte Inhalt vonZeichnen Sie Grafiken in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:lsjlt.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen