pChart の紹介を以下の記事で行いましたが、今回からは pChart のドキュメントに沿って説明していきます。
⇒ PHP pChart2.0を利用してグラフをPNGファイル(ブラウザ)に出力する方法について
pChart のドキュメントは英語版なので、これを拙い読解力で日本語にした内容を記していきます。
この記事では先ずは pChart のグラフィックスの基本的な使い方を記していきます。
pChart を利用してグラフを作成する方法を以下の項目に沿って説明します。
ライブラリのインクルード
pChart は複数のクラスで構成されています。 PHP コードにオブジェクト定義を追加するには、プログラムの先頭にいくつかのインクルードを追加する必要があります。 PHP では include() 関数を使用すると、外部ファイルを簡単に追加できます。 場合によっては require_once() 関数でもインクルードできます。
すべての PHP ソースでは以下の行から始めます。 (この場合はクラスが存在するディレクトリが、テストするPHPソースと同じディレクトリに存在する前提となります。)
/* すべてのクラスをインクルード */ include("class/pData.class.php"); include("class/pDraw.class.php"); include("class/pImage.class.php");
セッションを使用する必要がある場合は、このインクルードの前にセッションを開始する必要があることに注意します。
データセットを準備する
データセットにデータを入力するには、多くの方法があります。 最も簡単な方法は pData クラスの addPoints メソッドを使用することです。 この方法で値を 1 つずつ追加するか、グラフ化するデータを含む配列を直接指定できます。
// データセットオブジェクトの生成 $myData = new pData(); // データセットへのデータの追加(配列での追加) $myData->addPoints(array(VOID, 3, 4, 3, 5));
なお、上のソースで配列の中の VOID は欠損値を示しています。
pchartオブジェクトの生成
次のステップは、描画オブジェクトを作成することです。以下の例ではは 700×230px の画像を作成します。
// pChartオブジェクトの生成(既に生成済みのデータセット) $myPicture = new pImage(700, 230, $myData);
グラフ領域を定義
スケーリング関数またはグラフ作成関数を呼び出す前に、グラフ エリアの境界を定義する必要があります。
// グラフ領域の境界を定義する $myPicture->setGraphArea(60, 40, 670, 190);
なお、この、setGraphArea 関数の定義は以下の通りです。
//関数定義 setGraphArea($X1,$Y1,$X2,$Y2); // $X1,$Y1 は境界ボックスの左上隅 // $X2,$Y2 は境界ボックスの右下隅
フォント設定
描画オブジェクト上に表示するテキストのフォントを設定します。
// フォント設定 $myPicture->setFontProperties(array("FontName" => "fonts/Forgotte.ttf", "FontSize" => 11));
なお、この、setFontProperties 関数の定義は以下の通りです。
//関数定義 setFontProperties($Format = ""); // $Format は描画パラメータを含む配列で、配列キーの説明は以下の通り // ・"FontName":フォント名 // ・"FontSize":フォントサイズ // ・"R", "G, "B"":色設定のRGB値(値:0~255) // ・"Alpha":透明度
スケール計算
グラフ関数を呼び出す前に、スケール計算が必須です。 使用するスケーリング モードを定義できます (クラシック、値の追加)軸の表示方法と回転方法
// スケール計算 $myPicture->drawScale();
グラフ描画
あなたのチャートを描く 描画するグラフごとに関数があるので、描画したいグラフの関数を実行します。 なお、ここではスプライングラフを使用します。
// スプライングラフ描画 $myPicture->drawSplineChart();
グラフ描画結果を出力
autoOutput 関数を使用すると、キャッシュされたオブジェクトを取得して、ユーザーの Web ブラウザーまたはフラット ファイルに自動的に送信できます。 基本的に、pChart クラスから autoOutput() 関数を呼び出す場合と同じように機能します。
// グラフ描画結果をブラウザ出力 $myPicture->autoOutput("pchart1.png");
全ての処理をまとめる
<?php // すべてのクラスをインクルード include("class/pData.class.php"); include("class/pDraw.class.php"); include("class/pImage.class.php"); // データセットオブジェクトの生成 $myData = new pData(); // データセットへのデータの追加(配列での追加) $myData->addPoints(array(VOID, 3, 4, 3, 5)); // pChartオブジェクトの生成(既に生成済みのデータセット) $myPicture = new pImage(700, 230, $myData); // グラフ領域の境界を定義する $myPicture->setGraphArea(60, 40, 670, 190); // フォント設定 $myPicture->setFontProperties(array("FontName" => "fonts/Forgotte.ttf", "FontSize" => 11)); // スケール計算 $myPicture->drawScale(); // スプライングラフ描画 $myPicture->drawSplineChart(); // グラフ描画結果を出力 $myPicture->autoOutput("pchart1.png"); ?>
これを実行すると、以下の様なグラフがブラウザに表示されるはずです。
コメント