ホームページ  >  記事  >  バックエンド開発  >  PHPでグラフィックを描く

PHPでグラフィックを描く

WBOY
WBOY転載
2024-02-29 17:00:471266ブラウズ

php 編集者の Shinichi が、PHP でグラフィックを描画するための詳細なガイドをお届けします。基本的な幾何学的形状を描画する場合でも、複雑なデータ視覚化チャートを作成する場合でも、PHP は強力なグラフィックス処理機能を提供します。この記事では、PHP の GD ライブラリとその他のツールを使用して Web ページにさまざまなグラフィックを動的に生成する方法を紹介し、いくつかの実用的なヒントとテクノロジを探ります。 PHP でグラフィックスを描画する素晴らしい世界を探検してみましょう。


環境をセットアップする

pChart を使用する前に、まず php5 をインストールする必要があります。 PHP5 は、XAMPP 5.5.28 の一部として SourceForge から入手できます。

XAMPP 5.5.28 がある場合は、公式 Web サイトから pChart をダウンロードします。その後、pChart を XAMPP 5.5.28 の htdocs フォルダーに解凍します。

pChart フォルダーを開きます。その構造は次のようになります。

在 PHP 中绘制图形

知らせ:###

  • class フォルダーには、使用するクラス定義が含まれています。
  • fonts フォルダーには、グラフで使用できるフォント ファイルが含まれています。

pChart のセットアップが完了したら、描画を開始できるようになります。


pChart を使用して PHP で棒グラフを描画する

pChart を使用して棒グラフを描画する PHP コードには、class フォルダーに 3 つのファイルが含まれている必要があります。これらのファイルは次のとおりです:

  • pData.class.php
  • pImage.class.php
  • pDraw.class.php
これらのファイル内の

pData.class.php を使用すると、チャートで使用されるデータをロードできます。グラフを描画するには pDraw.class.php が必要です。

次に、

pImage.class.php を使用すると、WEB ブラウザでグラフをレンダリングできます。これらのファイルは、PHP required_once() を使用してインクルードする必要があります。

相対パスを使用してそれらを含めることも、

PCART_PATH 定数を定義することもできます。次に、set_include_path() を使用すると、pChart クラスの短いディレクトリ名を使用できます。

そうは言っても、次の手順を使用して、

pChart で棒グラフを作成できます。

    PCART_PATH
  • 定数を定義します。
  • pChart
  • クラスの短いディレクトリ名として set_include_path() を使用します。
  • required_once()
  • を使用して、pChart クラスを含めます。 新しい
  • pData
  • オブジェクトを作成します。 データを作成するかインポートします。
  • addPoints
  • メソッドを使用して、pData オブジェクトにデータを追加します。
  • pImage
  • オブジェクトを使用して、グラフの画像を作成します。 グラフのフォントを設定します。
  • pData
  • setGraphArea メソッドを使用して、グラフ領域を設定します。
  • pData
  • drawScale メソッドと drawBarChart メソッドを使用して、スケールとバーを描画します。 ヘッダー情報を送信して、画像を送信していることをブラウザーに伝えます。
  • pData
  • Render メソッドを使用して画像をレンダリングします。 nullRender メソッドに渡してください。
  • 以下にこれらの手順の実装を示します。以下はFirefox 101.0での出力画像です。
リーリー

出力:

使用 pChart 绘制的条形图


pChart

を使用して PHP でスプラインを描画します スプライン チャートを描画するプロセスは、

drawSplineChart

メソッドを使用してスプライン チャートを描画することを除いて、棒グラフを描画するプロセスと同じです。さらに、チャートを画像として送信しないことも選択できます。 代わりに、

pData

Stroke メソッドを選択して、Web ブラウザーでグラフをレンダリングできます。 次のコードは、

pChart

を使用してスプライン チャートを描画します。さらに、fonts ディレクトリの MankSans.ttf フォントを使用しています。 リーリー 出力:

用 pChart 绘制的样条图

PHP

mysql database から棒グラフを描画する ヒストグラムの描画は、棒グラフやスプライン プロットと同様の手順に従います。ただし、指摘する価値のある違いがいくつかあります。

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

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

现在,创建一个名为 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 = "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 绘制的直方图

以上がPHPでグラフィックを描くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。