我想向我的 Ruby on Rails Web 应用程序添加一些饼图、条形图和散点图。我希望它们具有吸引力、易于添加并且不会引入太多开销。

您会推荐哪种图表解决方案?
它的缺点是什么(需要 Javascript、Flash、昂贵等)?

有帮助吗?

解决方案

谷歌图表 如果您不想使用 Flash,这是一个绝佳的选择。单独使用它非常容易,但对于 Rails 来说,使用 图表集 宝石。一个例子:

GoogleChart::PieChart.new('320x200', "Things I Like To Eat", false) do |pc| 
  pc.data "Broccoli", 30
  pc.data "Pizza", 20
  pc.data "PB&J", 40 
  pc.data "Turnips", 10 
  puts pc.to_url 
end

其他提示

如果您不需要图像,并且可以满足需要 JavaScript,您可以尝试像 jQuery 插件这样的客户端解决方案 弗洛特.

我是以下的粉丝 粗暴的图表, , 但 谷歌图表 如果您不介意依赖外部服务器,也很好。

需要闪光灯和 不是免费的(尽管便宜): 图表.

我已经成功使用它并且喜欢它。不久前我评估了一些选择并选择了它。然而,当时的谷歌图表并不像现在看起来那么成熟。如果我现在重新评估,我会首先考虑这一点。

还有 邋遢. 。我最近看了一下代码,似乎很容易修改/扩展。它生成 svg 和(通过转换)png。

你有没有尝试过 谷歌图表 API?- Web 服务 API 并没有真正变得简单得多。它免费使用,实施简单,而且图表看起来也不太粗制滥造。

打开Flash图表II 是一个免费选项,可以提供非常好的输出。正如您所料,它确实需要 Flash。

融合图表 更好,但价格为 499 美元。在研究这个问题时,我发现 精简版免费版本 这可能会满足您的需求。

我第二次投赞成票 弗洛特. 。最新版本可以让你做一些我以前认为只能通过 Flash 才能实现的动画和动作。该文档非常棒。手工编写很简单,但对于简单的情况,使用名为 Rails 的插件会变得更加容易 船队. 。您应该查看 示例页面 更好地了解它的功能。缩放和悬停功能尤其令人印象深刻。

新的 Google 可视化似乎可以生成比 Google Graph 类型更多样化、更美观且更具交互性的图表。

http://code.google.com/apis/visualization/

莫里斯.js 很好而且开源。与 highcharts 相比,我想选择它。有一个新的很棒的视频教程 铁路广播

我刚刚发现 子牙 生成一些非常性感的图表并且是 Rails 特有的。

缺点是它使用 Flash,如果您不希望网站链接到 XML/SWF 页面,则每个网站的费用为 50 美元。

[我还没有决定,但想把它扔在那里以防人们想要投票]

我在 Java Web 应用程序中广泛使用了 Fusion Charts,但它在 Rails 中的工作方式应该相同,因为您只是通过 HTML 或 JavaScript 嵌入 Flash 并传递 XML 数据。这是一个巧妙的软件包,他们的支持一直非常积极响应。

你应该看看 德米特里·巴拉诺夫斯基 Javascript 库称为 拉斐尔.

Google 图表非常好,但它不是唯一的 Rails 解决方案。您只需使用您选择的编程语言来动态生成包含数据的 URL,Google 就会返回带有图表的漂亮图像。

http://code.google.com/apis/chart/

过去,我决定自己推出(使用 RVG/RMagick),主要是因为 Gruff 没有我想要的一切。缺点是查找并消除图形代码中的所有错误是一件痛苦的事情。如今,Gruff 是我的选择,因为它在定制和灵活性方面确实取得了进步。

标准的粗暴模板/颜色选择很糟糕,所以你需要亲自动手才能获得最佳效果。

关于 图表, ,有一个“免费”版本,具有很少的限制,可以生成 Flash 图表,包括提及的“chart by amCharts.com”。

还有一个不错的插件, 漫步, ,它为您提供了一些帮助方法来轻松将图表添加到您的视图中。请注意 amCharts.com 参考文档 仍然必须根据您的要求定制图表。

GoogleCharts 和 Gruff 图表很棒,但有时它们缺少一些我需要进行更科学绘图的功能。gnuplot 有一个 gem,它可能对其中一些情况有帮助。

http://rgplot.rubyforge.org/

我已经开始使用 原型 使用 javascript 生成 SVG 图表。我在 Rails 中的基本方法是使用一个控制器来返回要绘制为 JSON 的数据,并使用一些 javascript 和 protovis 来获取它。

唯一的缺点是,目前无法直接提供完整的 IE 支持(因为它基于 SVG)...然而,当前的补丁已经很好地提供了 IE 支持,详细信息可以找到 这里.

与 Flash 相比,我个人更喜欢基于 JavaScript 的图表。如果没问题的话,也看看 高排行榜. 。A Rails 插件 也可用。

似乎不再维护 gchartrb gem。作者 对于这些宝石:

为此,我们使用 gnuplot 在服务器端生成 PNG 图表。它有点老派,图表不具有交互性,但它可以工作并且可以缓存。

(我们这样做的另一个原因是我们可以在 PDF 版本的报告中放入完全相同的图表)。

然而,这并不是专门的 RoR,它是 Gruff 到 javascript 的非常流畅的移植: http://bluff.jcoglan.com/

图表总监. 。API 丑陋,但服务器端图像结果良好。自包含的二进制文件。

FWIW,当适合和完成很重要时,我不喜欢使用谷歌图表。我发现调整大小的变量是不可预测的——图表有它自己的作用。

我还没有玩过 Gruff/Bluff/etc,但对于一个更引人注目的项目,我不会使用 Google Charts。

如果你想要非常性感的图表,易于生成,并且可以启用 Flash,那么你绝对应该看看 maani.us xml/swf 图表.

背后有一些 XML 构建器,您就可以开始了。

融合图表 是一款非常好的图表产品。与 RoR 配合良好。他们的支持和论坛都很好。该产品的免费版本的图表和功能数量有限,但没有水印。

我刚刚开始在我的 Rails 3 项目中使用 googlecharts。它漂亮又干净,似乎是唯一一个活着的基于谷歌可视化 API 的 gem。其他人则不活跃,主要使用旧的谷歌图表 API(2007-2008 年发布)。

https://github.com/mattetti/googlecharts

D3 已成为我向网络应用程序添加美观图表的首选方式。与其他框架相比,您必须做一些更多的工作,但外观和控制比这些更重要。

我主要使用 SVG,这意味着不能使用 IE8,但这已不再是一个问题。

高图 - 用纯 JavaScript 编写的图表库

宝石喜欢 高图表轨道, 懒惰高图表 使与 Rails 的集成更加容易

gem 'chart' 可以轻松地将 ChartJS 和 NVD3 图表添加到 Rails 中。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top