it-swarm.cn

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

我想在我的Ruby on Rails Web应用程序中添加一些饼图,条形图和散点图。我想要他们有魅力,容易添加,而不是引入太多开销。

你会推荐什么样的图表解决方案?
它的缺点是什么(需要Javascript,Flash,昂贵等)?

76
RichH

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
59
Clinton N. Dreisbach

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

15
Ben Crouse

我是 Gruff Graphs的粉丝 ,但是 谷歌图表 如果你不介意依赖外部服务器也很好。

13
lordscarlet

它 需要闪光和 不是免费的(虽然便宜): amcharts

我已成功使用它并喜欢它。我前一段时间评估了一些选项并选择了它。然而,当时谷歌图表并不像现在看起来那么成熟。如果我现在要重新评估,我会先考虑一下。

8
Otto

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

7
MattW.

您是否尝试过 Google Charts API ? - Web服务API实际上并没有那么简单。它可以免费使用,操作简单,图表看起来也不会太糟糕。

6
David Heggie

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

Fusion Charts 甚至更好,但是499美元。在研究这个时,我发现 一个减少免费的版本 可能满足你的需求。

6
Clinton N. Dreisbach

我第二次投票支持 flot 。最新版本允许您做一些我以前认为只能通过Flash实现的动画和动作。文档太棒了。手动编写很简单,但对于简单的情况,使用名为 flotilla 的Rails插件会更容易。您应该查看 示例页面 以更好地了解它的功能。缩放和悬停功能尤其令人印象深刻。

6
Jerry Cheung

新的Google Visualization似乎可以生成比Google Graphs更多样化,更好看和互动的图表。

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

4
RichH

Morris.js 很好,开源。我想选择它与highcharts相比。来自 Railscasts的新视频教程

4
Steven Yue

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

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

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

3
RichH

你应该看看 Dmitry Baranovskiy的 Javascript库名为 Raphaël

3
Nathan de Vries

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

3
Brian Deterling

谷歌图表非常好,但它不是仅限Rails的解决方案。您可以简单地使用您选择的编程语言来动态生成包含数据的网址,Google会使您的图表返回一个漂亮的图像。

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

2
delux247

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

唯一的缺点是,完整的IE支持(因为它基于SVG)目前无法直接开箱即用......但是,目前的补丁有一个公平的方式来提供IE支持,详细信息可以找到 这里

2
Clinton

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

http://rgplot.rubyforge.org/

2
Bryan Ward

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

标准的Gruff模板/颜色选择很糟糕,所以你需要弄脏手以获得最佳效果。

2
Dan Harper

关于 amcharts ,有一个“免费”版本,其中包含极少数限制,可生成Flash图表,包括“amCharts.com图表”。

还有一个Nice插件, ambling ,它为您提供了一些辅助方法,可以轻松地为您的视图添加图表。请注意, amCharts.com参考文档 仍然是根据您的要求定制图表的必要条件。

2
Laurent Farcy

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

1
Thilo

我个人更喜欢基于JavaScript的图表而不是Flash。如果没关系,还可以查看 高图 。 A Rails插件 也可用。

1
Preston Lee

这不是专门的RoR,但它是jruff的非常光滑的Gruff端口: http://bluff.jcoglan.com/

0
Tony Pitale

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

它背后的一些XML构建器,你准备好了。

0
Thibaut Barrère

ChartDirector 。丑陋的API,但良好的服务器端图像结果。自包含二进制。

0
Jordi Bunster

D3 已经成为我的首选方式,为网络应用添加精美的图表。你必须做一些其他框架的mroe工作,但外观和控制超过了这一点。

我主要使用SVG,这意味着没有IE8,但这已成为一个问题。

0
RichH

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

0
ytbryan

FWIW,我不喜欢在适合和完成时使用谷歌图表很重要。我发现特别是尺寸调整的变量是不可预测的 - 图表做了它自己的事情。

我还没有玩Gruff/Bluff /等,但是对于一个更高调的项目,我不会使用Google Charts。

0
scottru

我们这样做是通过向gnuplot外壳生成图表作为PNG服务器端。它有点老派,图表不是交互式的,但它可以工作并且可以缓存。

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

0
AndrewR

FusionCharts 是一个非常好的图表产品。适用于RoR。他们的支持和论坛都很好。此产品的免费版本具有有限数量的图表和功能,但没有水印。

0
Srividya Sharma

我刚刚开始在我的Rails 3项目中使用googlecharts。它很好,干净,似乎是唯一一个活着的谷歌可视化api基础宝石。其他人不活跃,大多使用旧的谷歌图表api(2007-2008某处发布)。

https://github.com/mattetti/googlecharts

0
amit_saxena

HighChart - 用纯JavaScript编写的图表库

宝石像 highchart-Railslazy-high-chart 使得与Rails的集成更容易

0
usha