3

我正在尝试使用 rApache 在浏览器上生成饼图

我的 R 代码是这个

library(MASS)                  
school = painters$School  
school.freq = table(school)
pie(school.freq)

当我在浏览器上运行它时......我收到了这个错误

rApache有话要告诉你。查看源代码并阅读最后的 HTML 注释。

函数错误(文件 = ifelse(onefile,“Rplots.pdf”,“Rplot%03d.pdf”),:无法打开文件“Rplots.pdf”

知道为什么我会收到此错误吗?

4

1 回答 1

3

默认情况下,pie() 和其他绘图命令将尝试写入 PDF。如果您想使用 RApache 在网页中显示图像,那么这种方法不是您想要的。你必须告诉 RApache 你想让它做什么。

查看解压 RApache 源代码时创建的测试目录。在那里,您会发现几个脚本,这些脚本说明了如何在网页上呈现 PNG 图像。例如在 sendBin.R 中,您会发现以下代码:

setContentType("image/png")
t <- tempfile()
png(t,type="cairo")
plot(rnorm(10))
dev.off()
sendBin(readBin(t,'raw',n=file.info(t)$size))
unlink(t)
DONE

如果您将 line plot(rnorm(10))替换为pie(school.freq),然后将此文件保存在正确的位置(例如 /var/www/R/plot.R),您的图表应该会出现在网络上页。

确保您阅读了 RApache 文档并对其进行配置,以便可以从 Web 根目录中的位置运行 R 脚本。

于 2011-11-30T10:47:59.323 回答