Rails 图表解决方案汇总

2010-08-12 04:03

Rails 图表解决方案汇总

by Yuanyi ZHANG

at 2010-08-11 20:03:21

original http://www.letrails.cn/archives/rails-chart-solutions/

最近需要给抢座增加图表功能,于是对Rails的图表方案做了些调查,整理成这篇贴,希望对有同样需求的人有所帮助。

Google Chart

Google Chart的优点是接口简单,容易上手,但是缺点也很明显,需要依赖Google的服务,在有些地方加载可能会存在速度问题,并且有被GFW的风险。

Google Chart的Rails插件很多,个人比较喜欢mattetti的googlecharts:

Google Visualization

Google Visualization是Google Chart的升级版,Rails插件:http://github.com/mwarnock/rails-google-visualization-plugin

Gruff

Gruff是基于RMagick的Ruby绘图工具,功能强大,可扩展性和可定制性都非常好,不过由于Gruff需要在服务端实时生成图片,因此不适合实时展示数据。

Gruff还有一个JS封装bluff:http://bluff.jcoglan.com/

Flot

Flot是一个jQuery插件,可以基于JS生成实时图表,如果你使用jQuery,那么Flot是个不错的选择。Flot有一个很好用的Rails插件插件Flotilla: http://github.com/joshuamiller/flotilla

GNUPlot

GNUPlot最初是为学术目的使用的数据可视化工具,但是现在也支持生成非交互式的2d和3d图形,如果你需要生成非常复杂的图形,那么可以试试gnuplot,GNUPlot有一个叫rgplot的rubygem可以使用:http://rgplot.rubyforge.org

Ziya

Ziya是一个Rails图表插件,可以生成非常漂亮和复杂的Flash图表,如果你不介意Flash,那么Ziya是个不错的选择。

Scruffy

Scruffy是一个Rubygem,它的目标是帮你生成高质量的SVG和PNG图片,同Gruff一样,是一个服务端解决方案,不过Scruffy目前似乎已经停止开发了,首页的图片在Firefox和Chrome下均无法显示。

Highcharts

感谢dxiao同学留言,Highchars是一个纯JS的图表库,但是实现的效果却和Flash不相上下,相当绚丽,兼容性也很不错,并且有一个Rails的插件可以用,值得一试。

Raphaeljs

感谢Quake推荐,Raphael也是一个非常不错的JS绘图控件,他的核心库是raphaeljs,一个画图工具,详情可以看官方网站 : http://g.raphaeljs.com/

Flash

除了上面介绍的Ziya,Flash图表解决方案还有很多,下面列举几个对Rails支持比较好的:

参考:http://stackoverflow.com/questions/87561/what-is-your-preferred-way-to-produce-charts-in-a-ruby-on-rails-web-application