1

虽然我的原始脚本比这复杂得多,但我什至无法让这个脚本运行rails c

这是我尝试过的,但平心而论,示例是什么并不重要。当图形生成过程开始时,功能似乎崩溃了。

rails c

R.eval("numbers <- c(12,34,56,20,44,65)")
R.eval("png('sample.png')")
R.eval("plot(numbers)")
R.eval("dev.off()")
#nothing happens

irb

R.eval("numbers <- c(12,34,56,20,44,65)")
R.eval("png('sample.png')")
R.eval("plot(numbers)")
R.eval("dev.off()")
#action!

所以在rails之外,例如在ruby irb中,一切都运行良好。这是 rails 环境独有的问题

4

1 回答 1

5

指定存储文件的 app/assets 路径:

require 'rinruby'

R.image_path = Rails.root.join("app", "assets", "sample.png").to_s
R.eval("numbers <- c(12,34,56,20,44,65)")
R.eval("png(filename=image_path)")
R.eval("plot(numbers)")
R.eval("dev.off()")

png 应该显示在 app/assets 目录中,您可以像使用任何其他图像一样在 Rails 视图中使用它。

<%= image_tag 'sample.png' %>
于 2013-04-10T21:04:32.073 回答