IDEA*IDEAさんでGoogleChartAPIをPHPから簡単に使えるライブラリ「GoogChart」が紹介されてたので試してみました。
まずはダウンロード
http://luddep.se/notebook/2008/04/charts_with_php_and_google_charts_api
上記URLの中ほどにあるDownloadリンクから本体のzipを入手します。
wget http://luddep.se/mint/pepper/tillkruess/downloads/tracker.php?uri=http%3A//luddep.se/files/googchart/googchart_0_1.zip
その後unzip
$ unzip googchart_0_1.zip
Archive: googchart_0_1.zip
inflating: example.php
inflating: GoogChart.class.php
解凍するとexample.phpとGoogChart.class.phpが出てきます。
あとはこのGoogChart.class.phpをincludeして使うだけのようです。
うーん、シンプル。
サンプルのグラフを一つ表示させてみます。
<?php
include_once('GoogChart.class.php');
$data = array(
'IE7' => 22,
'IE6' => 30.7,
'IE5' => 1.7,
'Firefox' => 36.5,
'Mozilla' => 1.1,
'Safari' => 2,
'Opera' => 1.4,
);
$chart = new googChart();
$chart->setChartAttrs( array(
'type' => 'pie',
'data' => $data,
'size' => array( 300, 200 )
));
echo $chart;
?>
ほんとに簡単ですね。
簡単すぎて書くことがないです。
グラフの種類もオプションの一つとして指定するようになっているので、例えば type='pie' を type='line' に変えるだけで円グラフから線グラフに変換できちゃったりします。
setChartAttrs()にオプション配列を渡すことでグラフの形が決まります。
以下にそのオプションの一覧を載せておきます。
type
チャートの種類
pie, line, sparkline(XY軸が非表示のline), bar-horizontal, bar-vertical の5種類
title
チャートのタイトル文字列
data
グラフに使用するデータ配列
size
横幅、縦幅の指定 array(グラフの横幅, グラフの縦幅)
color
色の指定 array(1つ目のプロットの色, 2つ目のプロットの色, …)
fill
線グラフを塗りつぶすかどうかの色指定 array(1つ目の線グラフの塗りつぶし色、2つ目の・・・)
線グラフ以外に付けると不思議な感じになります
background
背景色 デフォルトは#ffffff
labelsxy
X軸Y軸のラベルを表示するかどうか
デフォルトはfalse
legend
凡例を表示するかどうか
デフォルトはtrue
使ってみた感想としてはとにかく簡単。
思った通りにコードを書けば、思った通りのグラフが表示されます。
円グラフ・棒グラフ・線グラフなどの単純なグラフであれば、これだけで十分そうです。
ただし、それ以外のグラフ形式や、細かい設定は全く対応していないので、凝ったグラフが描きたい人は他のライブラリを使ったほうがよさそうです。(JpGraphとかね!)
また、日本語の表示はソースコードをUTF8にすることである程度表示させることが出来ましたが、大半の文字は□に変わってしまいました。
この辺もまだまだ既存のグラフライブラリの方がよさそうです。(JpGra…
とりあえず手っ取り早く表示できればいいや、という人にはものすごくオススメなのでぜひ使ってみましょう。