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

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

What is your preferred way to produce charts in a Ruby on Rails web application?

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

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


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

1
2
3
4
5
6
7
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插件flot之类的客户端解决方案。


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


需要闪光,并且不是免费的(虽然便宜):amcharts。

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


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


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

Fusion Charts甚至更好,但价格为499美元。在研究此内容时,我发现了一个可以满足您需求的精简版。


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


n


n


n


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

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

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


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


您应该看一下Dmitry Baranovskiy的Java语言库,称为Rapha ?? l。


n


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

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


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

标准的Gruff模板/颜色选择很糟糕,因此您需要动手以取得最佳效果。


n


n


n


n


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


n


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


n


FWIW,我不喜欢在适合的情况下使用Google图表


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

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


n


n


n


n


推荐阅读