2007年5月25日 星期五

用Ruby畫圖表

gruff會用到librmagick,librmagic會使用libmagick,畫圖要用到字型,所以一共要裝gruff、librmagick (自動裝libmagick)、字型。畫出來的圖很漂亮,預設配色就很讚了,這裡有些輸出例子。

documents頗少的,幸好用法很直覺,麻煩的是要裝libmagick,還有需要字型,之前Gnuplot也要字型,但不知怎麼搞的,雖然有錯誤訊息,還是能畫圖,但這回沒辦法,在freebsd without X的server上用gruff會有這樣的error message:

/usr/local/lib/ruby/gems/1.8/gems/gruff-0.2.8/lib/gruff/base.rb:965:in `get_type _metrics’: Can’t measure text. Are the fonts installed? Is the FreeType library installed? (RuntimeError)
from /usr/local/lib/ruby/gems/1.8/gems/gruff-0.2.8/lib/gruff/base.rb:965 :in `calculate_caps_height’

我不想裝 X ,也不清楚單獨裝字型的方法,於是跳槽到已裝有 X 的debian上用 XD 。debian上用gem安裝rmagick失敗,只好用apt-get裝,但我找不到package,後來在york協助下,才發現我搞錯名稱,是 librmagick-ruby1.8,不是libmagick-ruby1.8,我漏打一個 ‘r’ ,難怪找不到。

官網上已有畫line chart的例子,附上pie chart的例子:

require 'rubygems' require 'gruff' g = Gruff::Pie.new g.title = "My Graph" # gurff會把data內的值加起來輸出相對比例 g.data("Apples", 3) g.data("Oranges", 2) g.data("Watermelon", 4) g.data("Peaches", 1) g.write('my_fruity_graph.png')

沒有留言:

張貼留言