March 20, 2009

PHPでグラフ作成

グラフを動的に生成できるライブラリを調査しました。
条件は、

・言語はPHP
・オープンソース、かつ無償で商用利用可
・折れ線グラフの横軸に、時間軸(date-axis)をとることができる
・積み上げ棒グラフ(stacked bar graph, stacked histogram)が書ける
・見た目が格好良い

です。

調査の結果、
ezcGraphというのを見つけました。

上記の条件はすべて満たしています(ライセンスはNew BSD)。
サンプルコード付きのチュートリアルもありますし、コードもきれいな感じで言うこと無いです。

ezcGraphは、eZ Componentsというライブラリの一部として提供されています。グラフだけでなく、MVCアプリケーション構築用のフレームワークなんかも提供されています。

PEARを使ったインストール手順は以下のとおり。
# pear channel-discover components.ez.no
# pear install -a ezc/eZComponents
# pear upgrade ezc/eZComponents

グラフは、デフォルトではSVG形式で出力されます。PNGやJPEGで出力するためには、PHPを適切にコンパイルする必要があります。具体的には以下のconfigureオプションが必要です。
'--with-zlib' \
'--with-gd' \
'--with-png-dir' \
'--with-jpeg-dir' \
'--enable-gd-native-ttf' \
'--with-freetype-dir' \
libz、libgd、libpng、libjpeg、libgd、libfreetypeが必要になります。また、未検証ですが、UTF-8以外の日本語を埋め込む場合
--enable-gd-jis-conv
オプションが必要かもしれません。UTF-8を利用する場合は、逆に文字化けの原因となるため、指定しないほうが良いです。


matssaku at 17:08│Comments(0)TrackBack(0)clip!PHP 

トラックバックURL

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔