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
分享到:
相关推荐
2. **创建图表的基本步骤**:从数据准备到图表配置,再到最终生成和显示图表的完整流程。 3. **图表定制**:如何改变颜色、标签、标题、图例等元素,以满足特定需求。 4. **动态图表**:如果使用了像Chartkick这样...
4. **数据可视化**:`create.rb`脚本可能使用了诸如`Gnuplot`、`Gruff`或`Chartkick`等Ruby库,将分析结果转化为图表,帮助用户直观理解数据。 5. **时间序列分析**:由于是“每月”交通事故,我们需要处理时间序列...
3. 数据可视化:Ruby社区提供了`Gnuplotrb`或`Gruff`库,它们可以生成图表,帮助团队成员直观地理解数据和分析结果。 4. 自动化脚本:Ruby的`Rake`工具可以用于构建自动化任务,比如数据下载、预处理脚本的执行,...
在这个应用中,HTML可能包含图表容器,用于显示由JavaScript生成的IAM图形。此外,HTML还可能与CSS和JavaScript一起工作,以实现交互式和动态的图形展示。 **使用步骤** 1. **安装依赖**:确保你已经安装了Ruby和...
此外,为了生成直观的地图,开发者可能利用了如Gnuplot或Ruby的图表库如Gruff,来绘制出流派间的层级关系或网络图。 在实际操作中,Genre-Map的实现可能涉及以下几个步骤: 1. 数据收集:收集各种电子音乐流派的...
Ruby也有多个数据可视化库,如`gruff`、`plotrb`或`gplot2`,它们可以与`daru`结合使用,帮助你将数据框转换为图表,更好地理解数据。 8. **案例研究** 通过一个实际案例,比如分析销售数据,展示如何使用`daru`...
6. **数据可视化**:为了便于理解,scholar-bot 可能提供了数据可视化功能,如图表生成,展示文献引用关系、作者网络或其他统计信息。这可能利用了Ruby的`gruff`或`chartkick`库。 7. **配置和扩展性**:作为一个...