Rails用グラフプラグインGruffを使ってみる
Gruffの導入については前回レポートしましたが
今回は実際に使ってみることにしました。
公式HPは下記にあります。
http://nubyonrails.com/pages/gruff
また、APIは下記においてあります。
http://gruff.rubyforge.org/
しかし英語と言うことであまり英語の読めない僕は
下記のページを参考にしました。とても参考になりました。
http://d.hatena.ne.jp/onering/20080520/1211251687
というわけで、使い方はこのサイトを参考にと言いたいところですが
簡単なやつだけ。
##グラフオブジェクトの作成、
##作成するグラフによりNEWするクラスが異なります。
##後ろの700は出来上がりのピクセルです。
@grph = Gruff::Line.new 700
@grph.title = 'グラフタイトル'##グラフスタイルの設定
theme = {
:colors => ["#FF0000", "#0000FF"],
:maker_color => "#999999",
:font_color => "#000000",
:background_colors => ["#FFDDDD","#FFFFFF"]
}
@grph.theme = theme##フォントはRailsで利用する場合、Rails_Rootのどこかに持ってくることが推奨
@grph.font = RAILS_ROOT + '/font/msgothic.ttc'##データの設定、データは配列で渡します、必ず数字である必要があるようです。
##Stringなどがわたってくるとエラーとなります。
@grph.data "データ", mtvtn_lvls##データラベルの設定、ラベルはハッシュで渡します、全てのデータに設定する必要はありません。
@grph.labels = lbl
##描画処理
send_data @grph.to_blob, :type => 'imagie/png'
なお、Railsで利用する場合には、ViewのERB又はRHTMLの中から下記のように呼び出します。
< img src="<%=url_for(:controller=>'cntr',:action=>'grph')%>" >
これで、Web画面の中にグラフを表示することができます。
ただしいくつか個人的に問題点があります。
折れ線グラフにおいて、「NIL」のデータを設定すると勝手に「0」に置き換えられる。
個人的には、ないところを除いて点を結んで欲しいのですが
こういうやり方がわからないです。(それともないのかなぁ)
また、目盛りをあまりいじれないところも悩みです。
5段階評価を時系列グラフにして
5:とても良い
4:良い
3:普通
2:悪い
1:とても悪い
というように表示したかったのですが
このやり方が見つかりません。
ここは今後見つけたら報告します。
########################################################
◎Gruffの導入
導入 http://d.hatena.ne.jp/sai-ou89/20080619
使い方 http://d.hatena.ne.jp/sai-ou89/20080620
########################################################