`
routinethinker
  • 浏览: 1925 次
  • 性别: Icon_minigender_2
  • 来自: 武汉
最近访客 更多访客>>
社区版块
存档分类
最新评论

Gruff 绘图库

阅读更多
[size=medium]Gruff 是Geoffrey Grosenbach开发的图表绘制gem.
文档: http://gruff.rubyforge.org/
安装: 需要ImageMagick 和 RMagick. 安装完毕可以用Gruff主页上的Code Sample测试一下是否安装成功. 我运行的时候字体有些问题,gruff采用了自带的font, 在自己的机器上跑的时候需要指定一下font的路径:

g.font = File.expand_path('/your/font/path/yourfont.ttf')


Gruff 提供了很多有趣的图类:


  • Gruff::Line 就一般的线图 股市行情什么的可以用用
  • Gruff::Pie Pie图 市场份额一类的比较方便
  • Gruff::Bar 直方图 年份变化一类都可用
  • Gruff:Area 面积图 似乎用处不大
  • Gruff:Scene 场景图 这个比较有趣 在文档提供的例子中:

 g = Gruff::Scene.new("500x100", "path/to/city_scene_directory")
 # Define order of layers, back to front 设定图像层所在的目录
 g.layers = %w(background haze sky clouds)

 # Define groups that will be controlled by the same input 可以将受同一控制的层
 组成组
 g.weather_group = %w(clouds)
 g.time_group = %w(background sky)

 # Set values for the layers or groups 设定控制输入 对其进行匹配选择图片
 g.weather = "cloudy"
 g.time = Time.now
 g.haze = true

 # Write the final graph to disk
 g.write "hazy_daytime_city_scene.png"

这个可以做背景图的实时控制 比如早晚太阳的不同位置
  • Gruff::Spider 这是我的应用中需要的图片类型 中文叫相图吧 Gruff::Net和这个类似 差
  • 别在于只标识出包络线 相图标识了所围成的区域 下面就以这个类别为例说说如何在rails
    中用Gruff

我的应用是大概就是在用户口味的统计数据上进行相图绘制 作为用户资料的一个部分 因
此把相图绘制写在了model里面而不是在controller里 由于需要仅仅被本类调用 设置为
protected方法 由于用户每更新或者创建的时候都重新绘制相表 因此设定了相应的
callback 同时在用户注销的时候删除plot

require 'gruff'
class User < ActiveRecord::Base

after_save :spider_plot
after_create :spider_plot
after_update :spider_plot
after_destroy :spider_plot_destroy

protected
  def spider_plot
  # plotting
  end

  def spider_plot_destroy
  # delete the plot
  end
end

在controller中的代码传递了图像所在的路径给view 在view中间就直接用image_tag显示了

最后来张无耻的图



[/size]
  • 大小: 27.9 KB
分享到:
评论

相关推荐

    ruby中gruff画图的简单例子

    在Ruby编程语言中,Gruff库是一个非常有用的工具,它允许开发者轻松地创建各种图表,如条形图、线图、饼图等。这个库主要针对那些不希望编写大量低级图形代码,而是专注于数据可视化的用户。在本文中,我们将深入...

    gruff:Ruby的Gruff图形库

    g = Gruff :: Line . new g . title = 'Wow! Look at this!' g . labels = { 0 =&gt; '5/6' , 1 =&gt; '5/15' , 2 =&gt; '5/24' , 3 =&gt; '5/30' , 4 =&gt; '6/4' , 5 =&gt; '6/12' , 6 =&gt; '6/21' , 7 =&gt; '6/28' } g . data :Jimmy ,...

    benchmark_driver-output-gruff:Benchmark_Driver插件以渲染条形图

    BenchmarkDriver :: Output :: Gruff 基准测试驱动程序插件,用于使用gruff.gem渲染图形。安装安装rmagick.gem的依赖项。 另请参阅: : # macOSbrew install imagemagick@6PKG_CONFIG_PATH=/usr/local/opt/...

    scrip:带有上下文无关语法的借据

    脚本 Scrip 是一种使用解析表达式语法 (PEG) 和解析器(由生成)... Duff paid 500 on behalf of Buff,Gruff and Buff paid 1000 on behalf of Duff,Gruff 解析器结果 解析器接受上述语法的脚本并返回一个 JSON 响应,

    Genre-Map:电子音乐流派的流派地图

    4. 可视化生成:利用Ruby的绘图库将处理后的数据转化为可视化的流派地图。 5. 用户接口:创建Web界面或API,让用户可以方便地查询和浏览流派地图。 通过这个项目,我们不仅可以学习到电子音乐的丰富多样性,还可以...

    适合度图

    使用Ruby的绘图库,如`gnuplotrb`或`gruff`,可以绘制出个体的适合度分布图。这有助于直观地了解种群的整体适应度状况和演化趋势。 ```ruby require 'gnuplotrb' GnuplotRB::Plot.new( ['individual_fitnesses'...

    allegrograph-tutorial:该教程贯穿AllegroGraph的快速入门指南和SPARQL教程。 包括可正常工作的docker-compose文件

    可以通过在存储库视图页面上单击“查看三元组”来探索使用SPARQL: 或者也可以通过从存储库视图页面中单击“在Gruff中浏览存储库”来查看Gruff:通过HTTP使用SPARQL查询执行方便的脚本可以执行任意sparql查询。...

    chart_demo.zip

    Ruby是一种面向对象的编程语言,它提供了多种库和框架来处理数据可视化,例如Gnuplot、Gruff、Chartkick等。在这个场景下,"chart_demo"可能是开发者或教育者为了教学或演示目的创建的一个项目。 描述中的"演示"一...

    cluster_analysis_in_pattern_recognition

    关于模式识别中的聚类分析。要求Ruby 2.1.1安装gem install rmagick pry gruff用法ruby main.rb -i spoons.jpg -n 2ruby main.rb --help

    一些图形算法的Ruby实现_Ruby_下载.zip

    - Graph库,如`ruby-graph`或`gruff`,提供更高级的功能,如图形可视化。 5. 示例代码学习: - 通过分析压缩包中的代码,可以了解如何在Ruby中实现这些算法,理解其实现细节和效率。 - 学习如何利用Ruby的迭代器...

    Ruby自动化脚本实现网络拓扑映射

    - **图形化展示**:结合如`rubyvis`、`gruff`等可视化库,Ruby能够将网络拓扑结构以图形化的方式展示出来,便于直观理解和后续分析。 #### 3. 实现步骤 实现Ruby自动化脚本进行网络拓扑映射,大致可以分为以下几个...

    语义网和关联数据开发实践

    - **Gruff**:一个用于绘制图形和图表的Java库,可以帮助开发者更好地呈现AllegroGraph中的数据分析结果。 **3.1 Sesame概述** Sesame是一个开源的Java框架,用于处理RDF数据。它提供了一系列工具和服务,包括: ...

    projetods2:这是 Aline 老师的 ds2 项目的存储库。 谁将运行该项目

    3. 数据可视化:Ruby社区提供了`Gnuplotrb`或`Gruff`库,它们可以生成图表,帮助团队成员直观地理解数据和分析结果。 4. 自动化脚本:Ruby的`Rake`工具可以用于构建自动化任务,比如数据下载、预处理脚本的执行,...

    meshiterro

    4. **数据可视化**:Ruby可以与诸如`gnuplot`或`gruff`这样的库结合,将网格数据转换成可视化图表,帮助用户更好地理解复杂数据。 5. **版本控制**:Ruby可以轻松集成Git,使得Meshiterro项目可以利用版本控制管理...

    日本每月交通事故

    4. **数据可视化**:`create.rb`脚本可能使用了诸如`Gnuplot`、`Gruff`或`Chartkick`等Ruby库,将分析结果转化为图表,帮助用户直观理解数据。 5. **时间序列分析**:由于是“每月”交通事故,我们需要处理时间序列...

    iam-viz:从AWS IAM配置绘制图形

    1. **安装依赖**:确保你已经安装了Ruby和必要的Ruby gems,如`aws-sdk`和`gruff`,这些是`iam-viz.rb`脚本运行所必需的。 2. **配置AWS访问**:在运行脚本之前,你需要配置AWS SDK,提供AWS访问密钥和秘密访问密钥...

    scholar-bot:一个不协调的机器人来组织东西

    这可能利用了Ruby的`gruff`或`chartkick`库。 7. **配置和扩展性**:作为一个灵活的工具,scholar-bot 很可能支持用户自定义配置,甚至允许通过插件系统进行扩展,增加新的功能或适配不同的数据源。 8. **自动化...

    databox-cookbook:数据库厨师食谱

    Ruby也有多个数据可视化库,如`gruff`、`plotrb`或`gplot2`,它们可以与`daru`结合使用,帮助你将数据框转换为图表,更好地理解数据。 8. **案例研究** 通过一个实际案例,比如分析销售数据,展示如何使用`daru`...

Global site tag (gtag.js) - Google Analytics