Rails:Gruff进阶应用
点这里
有关Gruff如何缓存和提高速度
点这里
在Rails做报表和生产图表的时候,通常我们的选择很多,之前的文章中说到的Flex就是相当的趋势。然而,这并不妨碍Rails的很多图表插件(plugin)的市场份额,毕竟尺有所长。
下面介绍的Gruff就是一个很老牌,很经典的图表生产库。这个库的特点是使用快捷简单。实际上,在我自己的项目中,我们就是Flex和Gruff都使用了。下面的图片是我自己使用Gruff和Flex生产的图表。
下面是Flex的图形生成和控制
那么,本篇是关于Gruff的。
Gruff的官网上也有标准的演示效果图如下:
并且有最简单的演示代码如下:
#!/usr/bin/ruby
require 'rubygems'
require 'gruff'
g = Gruff::Line.new
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')
安装简单:
可以从
Gruff的Git仓库上得到插件,也可以
从RubyForge上直接gem
最初的画板大小创建:
g=Gruff::Line.new('800x400')
其中,Trace的颜色由如下代码控制:
g.theme = {
:colors => %w{white red blue yellow},
:marker_color => '#888',
:font_color => 'white',
:background_colors => ['#111111', '#555555']
}
标出横纵坐标如下:
g.x_axis_label = 'Frequency (MHz)'
g.y_axis_label = unit_diff==0 ? "Level (dBmV)" : "Level (dBuV)"
标题和trace
g.title="Profile #{profile.name}"
g.data("Profile Reference", profile.trace.collect {|measurement| measurement + unit_diff})
标签和图片传送:
g.labels = {
0 => "#{label_0} MHz",
124 => "#{label_1} MHz",
249 => "#{label_2} MHz",
374 => "#{label_3} MHz",
499 => "#{label_4} MHz"
}
send_data(g.to_blob,
:disposition => 'inline',
:type => 'image/png',
:filename => "profile_trace.png")
- 大小: 116.4 KB
- 大小: 41.1 KB
- 大小: 31.7 KB
分享到:
相关推荐
一个用于制作漂亮图形的库。 建立在之上; 请参阅其网页,以获取系统级先决条件(ImageMagick等)以及如何安装它们的列表。 安装 将此行添加到您的应用程序的Gemfile中: gem ' gruff ' 然后执行: $ bundle 或...
Gruff库的核心类是`Gruff::Base`,它是所有图表类型的基类。你可以通过继承这个类并覆盖一些方法来自定义图表。让我们来看一个简单的条形图例子: ```ruby require 'gruff' # 创建一个条形图实例 bar_chart = ...
BenchmarkDriver :: Output :: Gruff 基准测试驱动程序插件,用于使用gruff.gem渲染图形。安装安装rmagick.gem的依赖项。 另请参阅: : # macOSbrew install imagemagick@6PKG_CONFIG_PATH=/usr/local/opt/...
描述中的"演示"一词表明,这个压缩包的内容可能是为了展示如何使用Ruby进行图表制作,或者展示特定图表库的功能和用法。这可能包括代码示例、预览图像,甚至可能有解释性的文档,帮助用户理解每一步的操作和背后的...
可以通过在存储库视图页面上单击“查看三元组”来探索使用SPARQL: 或者也可以通过从存储库视图页面中单击“在Gruff中浏览存储库”来查看Gruff:通过HTTP使用SPARQL查询执行方便的脚本可以执行任意sparql查询。...
3. 数据可视化:Ruby社区提供了`Gnuplotrb`或`Gruff`库,它们可以生成图表,帮助团队成员直观地理解数据和分析结果。 4. 自动化脚本:Ruby的`Rake`工具可以用于构建自动化任务,比如数据下载、预处理脚本的执行,...
Ruby也有多个数据可视化库,如`gruff`、`plotrb`或`gplot2`,它们可以与`daru`结合使用,帮助你将数据框转换为图表,更好地理解数据。 8. **案例研究** 通过一个实际案例,比如分析销售数据,展示如何使用`daru`...
- **Gruff**:一个用于绘制图形和图表的Java库,可以帮助开发者更好地呈现AllegroGraph中的数据分析结果。 **3.1 Sesame概述** Sesame是一个开源的Java框架,用于处理RDF数据。它提供了一系列工具和服务,包括: ...
4. **数据可视化**:`create.rb`脚本可能使用了诸如`Gnuplot`、`Gruff`或`Chartkick`等Ruby库,将分析结果转化为图表,帮助用户直观理解数据。 5. **时间序列分析**:由于是“每月”交通事故,我们需要处理时间序列...
- Graph库,如`ruby-graph`或`gruff`,提供更高级的功能,如图形可视化。 5. 示例代码学习: - 通过分析压缩包中的代码,可以了解如何在Ruby中实现这些算法,理解其实现细节和效率。 - 学习如何利用Ruby的迭代器...
- **图形化展示**:结合如`rubyvis`、`gruff`等可视化库,Ruby能够将网络拓扑结构以图形化的方式展示出来,便于直观理解和后续分析。 #### 3. 实现步骤 实现Ruby自动化脚本进行网络拓扑映射,大致可以分为以下几个...
Scrip 是一种使用解析表达式语法 (PEG) 和解析器(由生成)来描述的微型语言,该解析器能够理解 (且仅 IOU)。 句法 在顶层存在一个赞助规则,它可以是单个赞助规则或由和连词分隔的赞助规则集合。 每个赞助的格式...
6. **数据可视化**:为了便于理解,scholar-bot 可能提供了数据可视化功能,如图表生成,展示文献引用关系、作者网络或其他统计信息。这可能利用了Ruby的`gruff`或`chartkick`库。 7. **配置和扩展性**:作为一个...
此外,为了生成直观的地图,开发者可能利用了如Gnuplot或Ruby的图表库如Gruff,来绘制出流派间的层级关系或网络图。 在实际操作中,Genre-Map的实现可能涉及以下几个步骤: 1. 数据收集:收集各种电子音乐流派的...
在这个应用中,HTML可能包含图表容器,用于显示由JavaScript生成的IAM图形。此外,HTML还可能与CSS和JavaScript一起工作,以实现交互式和动态的图形展示。 **使用步骤** 1. **安装依赖**:确保你已经安装了Ruby和...
4. **数据可视化**:Ruby可以与诸如`gnuplot`或`gruff`这样的库结合,将网格数据转换成可视化图表,帮助用户更好地理解复杂数据。 5. **版本控制**:Ruby可以轻松集成Git,使得Meshiterro项目可以利用版本控制管理...
使用Ruby的绘图库,如`gnuplotrb`或`gruff`,可以绘制出个体的适合度分布图。这有助于直观地了解种群的整体适应度状况和演化趋势。 ```ruby require 'gnuplotrb' GnuplotRB::Plot.new( ['individual_fitnesses'...
关于模式识别中的聚类分析。要求Ruby 2.1.1安装gem install rmagick pry gruff用法ruby main.rb -i spoons.jpg -n 2ruby main.rb --help