先日、とある案件でグラフをたくさん作る機会があり Google Chart API でバリバリとグラフを作っていました。夢にまで出るくらい触ってました。
ということで今日はせっかくなので覚えた Google Chart API のことを書いてみようと思います。
「グラフが作りたい!」
でも短納期だし、グラフの内訳も変動するかもしれない!
そんなときは Google Chart API が便利です。
画像として出力されますがパラメータを変更すればすぐに反映されます
例えばベーシックな円グラフだったらすぐに作れます。
円グラフ サンプル
円グラフ コード
‹img src="http://chart.apis.google.com/chart?cht=p
&chtt=iPhone 4 購買欲チェック!
&chs=580x250
&chd=t:64,24,11,1
&chco=0092B9,86AD00,F2B705,BC3603
&chl=欲しい!|迷っている|間に合っている|未回答
" /›
上記のようにIMGタグにパラメータをつけてあげるとPNGファイルとして出力されます。
それぞれ指定方法を挙げると
- cht
- グラフの種類を指定
- chtt
- グラフのタイトルを指定
- chs
- グラフのサイズを指定
- chd
- グラフの数値を指定
- chco
- グラフの色を指定
- chl
- グラフのラベルを指定
となっています。それぞれのプロパティを&で繋いであげればOKです。
日本語の扱いに関してはモダンブラウザなら問題ないのですがIE6の場合、URLをエンコードしてあげないとうまくラベルなどが表示されません。
なので上記のグラフの場合はchlの値を以下のようにURLエンコードしてあげればバッチリです。
chl=%E6%AC%B2%E3%81%97%E3%81%84%EF%BC%81%7C%E8%BF%B7%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%7C%E9%96%93%E3%81%AB%E5%90%88%E3%81%A3%E3%81%A6%E3%81%84%E3%82%8B%7C%E6%9C%AA%E5%9B%9E%E7%AD%94
グラフの種類に関しては16種類も指定ができます。
- lc - 折れ線グラフ
- lxy - 折れ線グラフ
- bhs - 棒グラフ(横)
- bvs - 棒グラフ(縦)
- bhg - 棒グラフ(横)グループ化
- bvg - 棒グラフ(縦)グループ化
- p - 円グラフ
- p3 - 円グラフ3D
- v - ベン図
- s - 散布図
- ls - スパークライン
- r - レーダー(直線)
- rs - レーダー(曲線)
- t - 地図
- gom - Google-o-meter
- qr - QR コード
次はグループ化した棒グラフ(縦)を作ってみたいと思います。
棒グラフ サンプル
棒グラフ コード
‹img src="http://chart.apis.google.com/chart?cht=bvg
&chtt=iPhone 4 購買欲チェック!
&chxt=x,y
&chs=580x250
&chg=0,16.66,1,5
&chbh=18,1
&chco=0092B9,86AD00,F2B705,BC3603
&chm=N,000000,0,,10|N,000000,1,,10|N,000000,2,,10|N,000000,3,,10
&chds=0,60
&chd=t:32,42,55,54,44|28,26,18,15,23|36,23,23,15,25|4,10,5,15,8
&chxl=0:|10代|20代|30代|40代以上|全体|1:|0%|10%|20%|30%|40%|50%|60%
&chdl=欲しい!|欲しくない|迷っている|未回答
" /›
- chxt
- 複数軸ラベルを指定(chxt=x,y,r,x)
- chg
- 補助線を指定(chg=[x軸のステップサイズ],[y軸のステップサイズ],[分断線],[空白線])
- chbh
- 棒グラフの太さ・間隔を指定(chbh=[棒線の太さ],[棒線の間隔])
- chm
- グラフの補助的な数値を表示
- chds
- データスケーリングを指定(chds=[最小値],[最大値])
- chxl
- グラフのX軸・Y軸のラベルを指定
このように簡単なグラフ作成ならさくっと Google Chart API で出来ますね!