您在 Ruby on Rails Web 应用程序中生成图表的首选方式是什么?
-
01-07-2019 - |
题
我想向我的 Ruby on Rails Web 应用程序添加一些饼图、条形图和散点图。我希望它们具有吸引力、易于添加并且不会引入太多开销。
您会推荐哪种图表解决方案?
它的缺点是什么(需要 Javascript、Flash、昂贵等)?
其他提示
如果您不需要图像,并且可以满足需要 JavaScript,您可以尝试像 jQuery 插件这样的客户端解决方案 弗洛特.
它 需要闪光灯和 不是免费的(尽管便宜): 图表.
我已经成功使用它并且喜欢它。不久前我评估了一些选择并选择了它。然而,当时的谷歌图表并不像现在看起来那么成熟。如果我现在重新评估,我会首先考虑这一点。
还有 邋遢. 。我最近看了一下代码,似乎很容易修改/扩展。它生成 svg 和(通过转换)png。
你有没有尝试过 谷歌图表 API?- Web 服务 API 并没有真正变得简单得多。它免费使用,实施简单,而且图表看起来也不太粗制滥造。
打开Flash图表II 是一个免费选项,可以提供非常好的输出。正如您所料,它确实需要 Flash。
新的 Google 可视化似乎可以生成比 Google Graph 类型更多样化、更美观且更具交互性的图表。
我刚刚发现 子牙 生成一些非常性感的图表并且是 Rails 特有的。
缺点是它使用 Flash,如果您不希望网站链接到 XML/SWF 页面,则每个网站的费用为 50 美元。
[我还没有决定,但想把它扔在那里以防人们想要投票]
我在 Java Web 应用程序中广泛使用了 Fusion Charts,但它在 Rails 中的工作方式应该相同,因为您只是通过 HTML 或 JavaScript 嵌入 Flash 并传递 XML 数据。这是一个巧妙的软件包,他们的支持一直非常积极响应。
你应该看看 德米特里·巴拉诺夫斯基 Javascript 库称为 拉斐尔.
Google 图表非常好,但它不是唯一的 Rails 解决方案。您只需使用您选择的编程语言来动态生成包含数据的 URL,Google 就会返回带有图表的漂亮图像。
过去,我决定自己推出(使用 RVG/RMagick),主要是因为 Gruff 没有我想要的一切。缺点是查找并消除图形代码中的所有错误是一件痛苦的事情。如今,Gruff 是我的选择,因为它在定制和灵活性方面确实取得了进步。
标准的粗暴模板/颜色选择很糟糕,所以你需要亲自动手才能获得最佳效果。
关于 图表, ,有一个“免费”版本,具有很少的限制,可以生成 Flash 图表,包括提及的“chart by amCharts.com”。
还有一个不错的插件, 漫步, ,它为您提供了一些帮助方法来轻松将图表添加到您的视图中。请注意 amCharts.com 参考文档 仍然必须根据您的要求定制图表。
GoogleCharts 和 Gruff 图表很棒,但有时它们缺少一些我需要进行更科学绘图的功能。gnuplot 有一个 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 年发布)。
D3 已成为我向网络应用程序添加美观图表的首选方式。与其他框架相比,您必须做一些更多的工作,但外观和控制比这些更重要。
我主要使用 SVG,这意味着不能使用 IE8,但这已不再是一个问题。
gem 'chart'
可以轻松地将 ChartJS 和 NVD3 图表添加到 Rails 中。