RubyでグラフしたいなぁとおもっていたらGruffというのがなかなかよさげ。
「グラフが美しい」
Kazuhiro's Weblog: 「Gruff」 with Rubyでスタイリッシュなグラフを描こう
「コーディングがシンプル」
ということで早速使ってみる。
環境の整備
ImageMagick
ここからDLしていんすこ
ソースからmakeしたら結構時間かかるのね。
RMagick
gem install rmagick
Gruff
gem install gruff
Railsから動かしてみる
んでさっそくRailsアプリからサンプルを動かしてみた。
適当なコントローラーに以下のサンプルアプリを動かす。
require 'rubygems' require 'gruff' g = Gruff::Line.new g.title = "My Graph" g.data("Apples", [1, 2, 3, 4, 4, 3]) g.data("Oranges", [4, 8, 7, 9, 8, 9]) g.data("Watermelon", [2, 3, 1, 5, 6, 8]) g.data("Peaches", [9, 9, 10, 8, 7, 9]) g.labels = {0 => '2003', 2 => '2004', 4 => '2005'} g.write('my_fruity_graph.png')
めがっさ怒られた。
libMagickCore.so.1: cannot open shared object file: No such file or directory - /usr/lib/ruby/gems/1.8/gems/rmagick-2.4.0/lib/RMagick2.so
lib通さずにコンパイルしたから見たい。。
ln -s /usr/local/lib/libMagickCore.* /usr/lib ln -s /usr/local/lib/libMagickWand.* /usr/lib
が、こんどはFreeType libraryで怒られる。
Can't measure text. Are the fonts installed? Is the FreeType library installed?
これも入れてないのでghostscriptを入れる。
apt-get install gs gs-esp gs-cjk-resource libfreetype6-dev
うーんまだ怒られるな。
no encode delegate for this image format `my_fruity_graph.png'
画像変換かなということで出力をbitmapにしてやってみると正しく動く。
つまり画像ライブラリ関連が足りてないみたい。なので思いつくものをインスコ
apt-get install libjpeg-dev libpng12-0 libpng12-dev libpng3 apt-get install alien libxml1 libgtk1.2 libgtk1.2-common netpbm
しかしだめ。でネットをみてたらImageMagickのMake時にpngとかを指定しておかなきゃいけないみたい。
なので、、、ImageMagickを再ビルド。
./configure --with-jpeg=yes --with-png=yes --enable-shared=yes --enable-st=no --enable-lzw=yes make -j2 make install
コンパイルしなおしたら見事にできた!!!!!
やっふ〜〜!!