JpGraphとは
JpGraphはAditus Consultingが開発しているグラフ生成ライブラリ。
JpGraphを利用することで、数行のコーディングで簡単に動的にグラフを生成することができる。
JpGraphダウントード
JpGraphのダウンロードは下記URLから行える。
http://jpgraph.net/download/
JpGraphインストール
PHPでグラフを出力する方法はいくつかあり、何れにしてもGDライブラリがインストールされていることが前提条件となっている。
この記事は、DreamHostで演習を前提とするので、GDライブラリがすでに用意されている。日本語の表示はフォントのインストールなど必要だが、省略する。そのためソースコードに日本語の表示に関連する箇所はコメントアウトする。
JpGraphはどこに設置しても動作する。
この演習では、jpgraphと言うフォルダに入れて、ソースから直接インクルードする。
// 折れ線グラフ描画に必要なライブラリ
include (“./jpgraph/jpgraph.php”);
include (“./jpgraph/jpgraph_line.php”);
JpGraphサンプル
折れ線グラフを生成するプログラムtest.php
<?php
// 折れ線グラフ描画に必要なライブラリ
include ("./jpgraph/jpgraph.php");
include ("./jpgraph/jpgraph_line.php");
// データ、凡例、描画色を準備
$data = array(
'data' => array(
array(151, 170, 140, 116, 157),
array(161, 147, 182, 105, 140),
array(115, 110, 90, 93, 88),
),
'legends' => array('Tokyo', 'Akihabara', 'Ueno'),
'colors' => array('red', 'green', 'blue'),
);
// グラフの描画先
$g = new Graph(400, 400); // サイズ
$g->setScale('textlin'); // 目盛り
// $g->title->setFont(FF_MINCHO, FS_NORMAL, 14); // タイトルフォント
// $g->title->set('上半期 店舗別販売件数'); // タイトル
// $g->legend->setFont(FF_MINCHO, FS_NORMAL, 14); // 凡例フォント
// 配列から順に折れ線グラフを生成&キャンバスに追加
for ($i = 0; $i < count($data['data']); $i++) {
$l[] = new LinePlot($data['data'][$i]); // データ
$l[$i]->setLegend($data['legends'][$i]); // 凡例
$l[$i]->setColor($data['colors'][$i]); // 描画色
$g->add($l[$i]); // 追加
}
// グラフを描画
$g->stroke();
作成方法は、
- グラフの描画キャンバスのGraphオブジェクトを生成
- 配列から順に折れ線グラフを生成
- LinePlotクラスを直接にaddメソッドでキャンバスのGraphオブジェクトに追加
- グラフを描画
参考
- https://www.buildinsider.net/web/bookphplib100/025