久しぶりにグラフを書かせる機会を得た。
ブログの過去記事をみたら、2件存在。「PHPlot」と「GraPHPite」だ。ちなみにGraPHPiteは現在Pearにとりこまれて「Image_Graph」というライブラリになっている。
過去記事「グラフツールphplot」
過去記事「PHPによるグラフ描画ツール」
まずPHPlotを使ってみた。
これは非常にわかりやすくて使いやすかった。書いたスクリプトはこんな感じ。
(1) $graph=new PHPlot(700,500);
(2) $graph->SetDataType(“text-data”);
(3) $graph->setDataValues($graphData);
(4) $graph->SetPlotType(“bars”);
(5) $graph->SetXTickIncrement(1);
(6) $graph->SetYTickIncrement(1);
(7) $graph->SetLegend($tmpLegend);
(8) $graph->DrawGraph();
(1)でグラフ画像のサイズを指定して初期化し、(2)でデータの種類を指定、(3)であらかじめ用意したデータをセットし、(4)でグラフの種類を指定、(5)(6)でメモリ幅を指定、(7)で凡例を指定、そして(8)で出力。
ただそのままでは日本語が通らなかった。setUseTTFなんて感じで使えそうなメソッドがあって、いくつか試してみたけどうまく動いてくれなかった。仕方がないので、
require_once(LIB_DIR . ‘phplot/phplot.php’);
class extPHPlot extends PHPlot {
var $use_ttf = TRUE;
var $ttf_path = ‘(Path to TTF Directory)';
var $default_ttfont = ‘(TTF Name)';
}
みたいな感じでクラスを拡張し、これを使用した。もちろん上記の$ttf_pathと$default_ttffontには別途用意したTTF(TrueType Font)のパスとファイル名を指定する。これは以下のところからダウンロードして使えばいいだろう。
http://sourceforge.jp/projects/efont/
簡単ではあるのだが、どうもグラフの種類が少ないようだ。とりあえず棒グラフを作ってみたけれど、X軸とY軸を入れ替えたものとかできないっぽい。見栄えもそれほどいいとはいえない。
とりあえずImage_Graphも試してみることにする。