在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


推荐阅读

    Excel图表怎样移动和调整图表大小?

    Excel图表怎样移动和调整图表大小?,图表,生成,怎么,一、移动图表1.在Excel中移动一幅图表的操作非常简单,我们只需单击要移动的图表,用鼠标拖

    电脑表格转换为图表|表格转换成图表

    电脑表格转换为图表|表格转换成图表,,表格转换成图表1、选择A列,在“插入”选项下的“数据透视表”中,将数据透视字段拖曳到“行”和“值”

    wps如何生成引用

    wps如何生成引用,WPS教程,1.wps怎么添加引用文献wps添加引用文献:1、打开文档,点击WPS文字右侧下拉菜单。2、打开插入>引用>脚注与尾注3、选

    未知软件异常应用程序错误解决方案

    未知软件异常应用程序错误解决方案,,我有很多朋友的电脑未知软件异常应用程序错误的问题,对于异常未知的软件异常中的应用一般提示(0xc00000

    小米手机安装的应用程序包在哪里

    小米手机安装的应用程序包在哪里,,问题: 下载小米手机系统的安装文件在哪里 答案uff1a 下载应用程序包位置:SD卡>下载。 (摘自:小米手册:米

    Python之可迭代对象、迭代器、生成器

    Python之可迭代对象、迭代器、生成器,迭代,生成器,一、概念描述可迭代对象就是可以迭代的对象,我们可以通过内置的iter函数获取其迭代器,可

    应用程序对象

    应用程序对象,,应用程序对象是一个应用程序级对象,用于在所有用户之间共享信息,并且在Web应用程序运行期间可以保存数据。 应用的性质: 方法