你在Ruby on Rails web应用程序中制作图表的首选方式是什么?

76

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

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


最终我选择了一个Google图表实现,但现在我正在转向Google可视化。 - RichH
我现在已经在2013年转向使用D3了。 - RichH
highcharts是一个非常棒的库。 - hsgubert
31个回答

59

Google Charts是一个很好的选择,如果你不想使用Flash。它本身很容易使用,但对于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

我决定先使用Google Charts和gchartrb。它们简单快捷 - 当我需要时,我可以转向更复杂的东西。 - RichH
1
我发现Google Charts有点麻烦,因为饼图标签经常会溢出图表的边缘,而且它们也不太好看。我正在转向Google Visualizations,它看起来要漂亮得多,但是需要使用JavaScript。 - RichH
4
你把这段代码放在哪里?放在控制器上吗?怎样展示它? - B Seven

15

如果您不需要图像,并且可以接受需要JavaScript,您可以尝试像jQuery插件flot这样的客户端解决方案。


13

我是 Gruff Graphs 的拥护者,但是如果您不介意依赖外部服务器的话,Google Charts 也是一个不错的选择。


8

这个工具需要使用Flash,而且不是免费的(但价格便宜):amcharts

我曾经成功地使用过它,并且很喜欢它。一段时间以前,我评估了许多选项并选择了它。然而,当时Google Charts还没有现在成熟。如果我现在重新评估,我会首先考虑Google Charts。


7

还有Scruffy。我最近看了一下它的代码,发现它很容易修改/扩展。它可以生成svg和(通过转换)png。


6

我支持使用flot。最新版本可以实现一些以前认为只能通过Flash才能实现的动画和操作。文档非常好。手写很简单,但对于简单情况,Rails插件flotilla可以使其更加简单。您应该查看示例页面以更好地了解它的功能。缩放和悬停功能特别令人印象深刻。


6
你尝试过Google Charts API吗?它是网络服务API中最简单的之一。它免费使用,易于实施,而且图表看起来也不错。

6

4

4

Morris.js 是一个很好的开源库,我愿意选择它来与 highcharts 进行比较。有一篇新的很棒的视频教程来自Railscasts


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接