浏览 6002 次
锁定老帖子 主题:如何用Gruff生成图表
精华帖 (0) :: 良好帖 (2) :: 新手帖 (1) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-07-26
最后修改:2010-07-26
Gruff 是使用ruby编写的Ruby图标库,可以创建包括直线图,柱状图,饼状图在内的多种图表. Github:http://github.com/topfunky/gruff 安装: gem install gruff (1)直线图 #请注意,这个文件千万不能命名为gruff.rb,否则后患无穷: uninitialized require 'rubygems' require 'gruff' g = Gruff::Line.new g.title = "My Graph" g.font = File.expand_path('c:/WINNT/Fonts/simsun.ttf') #指定一下font的路径,以便使用中文 g.data("火星組", [1, 2, 3, 4, 4, 3]) g.data("水星組", [4, 8, 7, 9, 8, 9]) g.data("土星組", [2, 3, 1, 5, 6, 8]) g.data("木星組", [9, 9, 10, 8, 7, 9]) g.labels = {0 => '2006', 2 => '2008', 4 => '2010'} g.write('greport.png') 会生成下面这张图: (2)餅狀圖 只需修改上面代碼的Gruff::Line.new為Gruff::Pie.new,即可生成下圖: 詳細可參考:http://gruff.rubyforge.org/ 用户还可以指定图标的颜色,背景图案甚至字体. 先來看看顏色吧: add_color('#c0e9d3') 參考其源碼: def add_color(colorname) @colors << colorname end 針對上面的代碼,可以這樣處理: g.data("火星組", [1, 2, 3, 4, 4, 3],'#c0e9d3') 至于背景圖片,可以參考下面代碼: graph.theme = { :colors => %w(orange purple green white red), :marker_color => 'blue', :background_colors => %w(black grey), :background_image =>'squirrel.png' } 針對上面例子,我的代碼如下: g.theme = { :background_image => 'cd.png' } 其它不一一敘述,詳細還請參考下面鏈接: http://gruff.rubyforge.org/ http://nubyonrails.com/pages/gruff Ruby Gruff的图表功能 http://www.weekface.info/2010/07/25/ruby-gruff-chart 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-07-26
问一下, 不是关于gruff的问题, 而是关于ruby的, 我也是按着这个来做, 但结果是权限不足, 貌似我的ruby没权限写文件? 知道是什么原因嘛?谢谢。
|
|
返回顶楼 | |
发表时间:2010-07-27
楼上,用sudo 命令执行ruby文件就行了
|
|
返回顶楼 | |
发表时间:2010-07-28
这个要sudo 权限啊? 为什么,何解?
g.write('greport.png') 要写入png文件的权限? |
|
返回顶楼 | |
发表时间:2010-07-28
sevk 写道 这个要sudo 权限啊? 为什么,何解?
g.write('greport.png') 要写入png文件的权限? 要写文件当然得有写权限。。 |
|
返回顶楼 | |
发表时间:2010-07-29
连贫嘴这种甚么都不会的都能出来回答
|
|
返回顶楼 | |
发表时间:2010-08-16
我是在win下面啊,虽然直接执行这个脚本有问题,但我用rails的话,是没问题的,也就是在controller里send_file是可以的。
可能这个和之前有一次被360将ruby当做病毒有关系,但为什么在rails里可以?没时间去找原因了,rails能用就行吧,以后再找原因好了。 |
|
返回顶楼 | |
发表时间:2010-11-05
最后修改:2010-11-05
Rails: Gruff进阶应用
http://hlee.iteye.com/blog/438594 |
|
返回顶楼 | |