Gruff

グラフを表示(Gruff)

インストール

$ gem install gruff

グラフの種類を決める

@graph = Gruff::Pie.new

グラフのテーマやタイトル、フォントを指定

@graph.font = "/usr/share/fonts/ipag.ttf"
@graph.title "#{Time.now}時点でのアクセス状況"

グラフのデータを追加

@graph.data("おもしろい", [Vote.count(:conditions => ["good = ?", true ])])
@graph.data("つまんない", [Vote.count(:conditions => ["good = ?", false ])])

グラフをファイル、またはバイナリ文字に出力

@graph.write("votes.png")

Railsに組み込む

ビュー
<%= tag("img", :src => url_for(:controller=>"votes", :action=>"graph")) %>
コントローラ
def graph
  graph = Gruff::Pie.new
  graph.font = "/path/to/fonts/ipag.ttf"
  graph.title = "投票状況"
  graph.data("おもしろい", [Vote.count(:conditions => ["good = ?", true ])])
  @graph.data("つまんない", [Vote.count(:conditions => ["good = ?", false ])])
  end_data(graph.to_blob, :type => "image/png", :disposition=>"inline")
end