2

我正在尝试制作一个统计页面,其中将显示多个数据和图表。
图表需要是图片,以便用户可以将其保存/拖放到他/她的个人报告中。

我正在使用 Gruff Graphs for Ruby 来生成图表,但我不知道显示结果安全和受保护的最佳方式。

我的一些想法/尝试是:

  1. 将图表保存到文件(jpg、png)? 问题:任何人都可以使用数据(无权访问cron,不时删除数据

  2. 在浏览器中渲染(必须在 IE 上工作)?

  3. 使用 javascript(Raphaël—JavaScript 库)或 Google API 并输出 PDF 报告(需要插件或 gem,对吗)?

  4. 使用发送数据?我试图输出内联以外的其他方式,因为我需要显示其他数据,这可能吗?

谢谢你的帮助。

4

4 回答 4

1

尽管这很烦人,但您始终可以在生成过程中删除旧条目。如果您没有诸如 cron 之类的后台作业工具,这实际上只是您需要做的事情。根据文件“修改时间”检查通常是最好的方法,但这也有破坏旧图像链接的效果。

基于画布的方法明显优于服务器生成的图像。例如,使用Flot 之类的东西来构建基于画布的图形,并在 IE 兼容性所需的地方包含explorercanvas 。

于 2010-03-30T17:19:32.613 回答
0

感谢所有输入。

我想我会直接在图像源标签中或通过 gem 使用 Google Charts。

再次感谢所有帮助。

于 2010-04-04T10:36:43.280 回答
0

我目前正在做同样的事情,并且正在研究粗暴地做我的图表的服务器端生成。

我让 gruff 在我的控制器中生成图像并将图像写入我的公共图像目录,然后简单地从我的视图链接到图像。

也就是说,图表是静态图像,我想要更动态的东西。

因此,我最终使用 Highcharts jQuery 插件 ( http://www.highcharts.com/ ) 在视图端生成图表。(好多了!)

我只是让我的控制器将我的数组数据传递给视图并让图表绘制客户端,它要好得多,并且具有我的客户端也可以从 Google 使用的所有功能,而无需绑定到 Google 的 API 和 Flash。

当然都是见仁见智!:)

于 2010-03-30T18:53:01.367 回答
0

我使用了 gruff,它真的很慢并且消耗大量内存,如果你不改变 chrats 使用 gruff 和一些缓存是个好主意,你可以做页面缓存或片段缓存http:// guides.rubyonrails.org/caching_with_rails.htm,但我建议你使用谷歌 API,有一个 gem 可以简化工作,http: //rubygems.org/gems/googlecharts 。如果您需要用户下载图表,我认为使用 graphael 或其他人制作图表不是一个好主意。

于 2010-03-31T03:07:36.777 回答