Home > All, Programming, Ruby > 用Ruby畫圖表

用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')

fcamel All, Programming, Ruby

  1. May 25th, 2007 at 17:05 | #1

    養成好習慣 :p, 如果不知道確切 package name 的話
    最好先用 apt-cache search 來找, 避免掉這種小錯誤

    btw, aptitude 比較好用阿

  2. May 26th, 2007 at 19:47 | #2

    我是用aptitude,只是打libmagick找不到librmagick (打到’m'時就錯了) XD

  1. No trackbacks yet.