JpGraph

PHPのグラフライブラリ、JpGraphで試行錯誤中。
http://www.aditus.nu/jpgraph/
http://www.asial.co.jp/products/jpgraph/

日本語文字列対応

日本語文字列は以下のページと、文字列をUTF-8に変換するだけですぐに対応できた。
http://www.asial.co.jp/products/jpgraph/japanese.php
文字列のUTF-8変換は以下のようにmb_convert_encodingを使うか、

$graph = new CanvasGraph(240, 120, "auto");
$txt = "日本語文字列";
$txt = mb_convert_encoding( $txt, "UTF-8", "SJIS");
$txt = new Text($txt);
$graph->AddText($txt);

または毎回変換するのが面倒な場合は以下のようにjpgraph.phpを修正する(若干面倒)。
http://www.alles.or.jp/%7Esogabe/mantis/article/article2.html

利用法

sov退避の期間統計のグラフですでに使用中。
とりあえずは@検索での利用として、検索結果に出現時間帯推移グラフ(hour単位)を表示する予定である。
また、sov退避のキーワード関連マップにはImageMagickを使っていたが、18ポイント未満のフォントサイズだと文字化けしてしまう不具合があった。
しかしJpGraphの場合、なんと1ポイントからでも表示できる模様である(もちろん可視できるサイズは7ポイント程度から)。

フォントサイズによって出力がどう見えるか実験してみた。

一部のフォントサイズ(東風ゴシック8〜13、IPAゴシック9&12、IPA明朝9&12)にはアンチエイリアスがかからないようである。

その他JpGraphでできることは多いので、キーワード関連マップの柔軟性を上げるためにJpGraphに移行しておきたい。
(ちなみにMSゴシックやMS明朝も使えるようである)