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
フォルダーを開きます。その構造は次のようになります。
知らせ:###
フォルダーには、使用するクラス定義が含まれています。
フォルダーには、グラフで使用できるフォント ファイルが含まれています。
pChart のセットアップが完了したら、描画を開始できるようになります。
を使用して PHP
で棒グラフを描画する
pChart を使用して棒グラフを描画する PHP コードには、
class フォルダーに 3 つのファイルが含まれている必要があります。これらのファイルは次のとおりです:
pData.class.php を使用すると、チャートで使用されるデータをロードできます。グラフを描画するには
pDraw.class.php が必要です。
pImage.class.php を使用すると、
WEB ブラウザでグラフをレンダリングできます。これらのファイルは、PHP required_once() を使用してインクルードする必要があります。
PCART_PATH 定数を定義することもできます。次に、
set_include_path() を使用すると、
pChart クラスの短いディレクトリ名を使用できます。
pChart で棒グラフを作成できます。
set_include_path()
を使用します。
pChart
クラスを含めます。
新しい
データを作成するかインポートします。 pData
オブジェクトにデータを追加します。
グラフのフォントを設定します。 setGraphArea
メソッドを使用して、グラフ領域を設定します。
drawScale
メソッドと drawBarChart
メソッドを使用して、スケールとバーを描画します。
ヘッダー情報を送信して、画像を送信していることをブラウザーに伝えます。 Render
メソッドを使用して画像をレンダリングします。 null
を Render
メソッドに渡してください。
出力:
でスプラインを描画します
スプライン チャートを描画するプロセスは、 メソッドを使用してスプライン チャートを描画することを除いて、棒グラフを描画するプロセスと同じです。さらに、チャートを画像として送信しないことも選択できます。
代わりに、
の Stroke
メソッドを選択して、Web ブラウザーでグラフをレンダリングできます。
次のコードは、
を使用してスプライン チャートを描画します。さらに、fonts
ディレクトリの MankSans.ttf
フォントを使用しています。
リーリー
出力:
PHP
首先,直方图的数据将来自 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(); ?>
输出(你的时间会有所不同):
以上がPHPでグラフィックを描くの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。