在Ruby on Rails Web应用程序中生成图表的首选方式是什么?

时间:2020-03-05 19:00:01  来源:igfitidea点击:

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

我们会推荐哪种制图解决方案?
它的缺点是什么(需要Javascript,Flash,昂贵等)?

解决方案

回答

我们是否尝试过Google Charts API? Web服务API并没有真正简单得多。它是免费使用,易于实现的,并且图表看起来不太伪劣。

回答

Open Flash Chart II是一个免费选项,可以提供非常好的输出。如我们所料,它确实需要Flash。

Fusion Charts甚至更好,但价格为499美元。通过研究,我发现了一个可以满足我们需求的精简版。

回答

Google图表非常好,但是它不是唯一的解决方案。我们只需使用所选的编程语言来动态生成包含数据的网址,然后google会返回带有图表的漂亮图片。

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

回答

如果我们不想使用Flash,则Google Charts是一个绝佳的选择。单独使用它很容易,但是对于Rails来说,使用gchartrb gem更容易。一个例子:

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

回答

我是Gruff Graphs的粉丝,但是如果我们不介意使用外部服务器,则Google Charts也很好。

回答

我刚刚发现ZiYa制作了一些非常性感的图表,并且是Rails特有的。

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

[我还没有决定,但是想把它扔出去,以防人们想投票]

回答

我们通过脱壳到gnuplot来将图表生成为PNG服务器端。这有点老派了,图表不是交互式的,但是可以工作并且可以缓存。

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

回答

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

虽然标准的Gruff模板/颜色选择很烂,所以我们需要动手才能获得最佳效果。

回答

如果我们不需要图像,并且可以使用JavaScript,则可以尝试使用jQuery插件flot之类的客户端解决方案。

回答

我已经在Java Web应用程序中广泛使用了Fusion Charts,但是由于我们只是通过HTML或者JavaScript嵌入Flash并传递XML数据,因此它在Rails中的工作方式应相同。这是一个精巧的软件包,他们的支持一直非常敏感。

回答

但是,这并不是专门的RoR,它是Gruff到javascript的非常漂亮的端口:http://bluff.jcoglan.com/

回答

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

回答

ChartDirector。 API丑陋,但是服务器端的图像效果不错。自包含二进制文件。

回答

我们应该看一下Dmitry Baranovskiy的Java语言库Rapha?l。

回答

它需要闪光灯,而且不是免费的(虽然便宜):弹药。

我已经成功使用了它,并且喜欢它。不久前,我评估了许多选项,并选择了它。但是,当时的Google Charts还不如现在看起来成熟。如果我现在要重新评估,我会首先考虑。

回答

FWIW,当适合度和结束时间很重要时,我不喜欢使用Google图表。我发现,用于调整大小的变量尤其不可预测,图表会自行完成。

我还没有玩过Gruff / Bluff / etc等游戏,但是对于知名度更高的项目,我不会使用Google Charts。

回答

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

背后有一些XML构建器,我们就可以开始使用。

回答

关于amcharts,有一个"免费"版本,有很少的限制,可以生成Flash图表,其中包括提到的" chart by amCharts.com"。

并且有一个很好的插件,使我们能够方便地向视图添加图表。请注意,仍然需要amCharts.com参考文档来根据要求定制图表。

回答

我对弗洛特投了第二票。最新版本使我们可以执行一些以前认为只能通过Flash进行的动画和动作。该文档太棒了。手工编写起来很简单,但是在简单的情况下,使用称为flotilla的Rails插件会变得更加容易。我们应该查看示例页面,以更好地了解其功能。缩放和悬停功能特别令人印象深刻。

回答

与Google Graphs相比,新的Google Visualization似乎可以生成类型更多,外观更好且更具交互性的图表。

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

回答

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

回答

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

http://rgplot.rubyforge.org/