gruff0.3.0でグラフ描画してみる→何か変だ
↑のようなグラフは出力できたけど、何か変なのでメモ。
環境はUbuntu 7.10 Serverです。
rmagickの導入。
% sudo gem install rmagick Updating metadata for 19 gems from http://gems.rubyforge.org ................... complete Building native extensions. This could take a while... ERROR: Error installing rmagick: ERROR: Failed to build gem native extension. /usr/bin/ruby1.8 extconf.rb install rmagick checking for Ruby version >= 1.8.2... yes checking for Magick-config... yes checking for ImageMagick version >= 6.3.0... no Can't install RMagick 2.2.2. You must have ImageMagick 6.3.0 or later. (略)
とか出るので、ImageMagickの6.3.0を入れる。Ubuntuのパッケージは6.2.4までしかないのでソースから導入。
% wget ftp://ftp.kddlabs.co.jp/graphics/ImageMagick/ImageMagick-6.3.8-2.tar.gz % cd ImageMagick-6.3.8/ % ./configure % make % sudo make install % sudo ln -s /usr/local/lib/libMagick.so.10 /usr/lib/ % sudo ldconfig /usr/local/lib/
再度rmagickの導入。
% sudo gem install rmagick
gruffの導入
% sudo gem install gruff
サンプルプログラムを作成
#!/usr/bin/ruby -Ku # gra.rb require 'rubygems' require 'gruff' g = Gruff::Line.new(500) 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')
実行。
% ruby gra.rb /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `gem_original_require': no such file to load -- /usr/lib/ruby/gems/1.8/gems/gruff-0.3.0/lib/gruff/bullet (LoadError) from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require' from /usr/lib/ruby/gems/1.8/gems/gruff-0.3.0/lib/gruff.rb:25 from /usr/lib/ruby/gems/1.8/gems/gruff-0.3.0/lib/gruff.rb:5:in `each' from /usr/lib/ruby/gems/1.8/gems/gruff-0.3.0/lib/gruff.rb:5 from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:32:in `gem_original_require' from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:32:in `require' from gra.rb:4
bulletが見つからないと言われ、パッケージにも入ってる気配がないので、gruff.rbから削ってみる。
/usr/lib/ruby/gems/1.8/gems/gruff-0.3.0/lib/gruff.rb
# Extra full path added to fix loading errors on some installations. %w( base area bar bullet #削除 line pie spider net stacked_area stacked_bar side_stacked_bar side_bar accumulator_bar scene mini/legend mini/bar mini/pie mini/side_bar ).each do |filename| require File.dirname(__FILE__) + "/gruff/#{filename}" end
再度実行してみると、以下のエラー。
RMagick: Postscript delegate failed
以下を導入。
% apt-get install 'ghostscript*'
再度実行。
% ruby gra.rb RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'. RMagick: unable to read font `(null)'.
なんかエラーっぽいのが出るが、my_fruity_graph.pngも出力される。
とりあえず、ここまで。さて、どうしよう。