我正在尝试使用rApache
在浏览器上生成饼图我的R代码就是这个
library(MASS)
school = painters$School
school.freq = table(school)
pie(school.freq)
当我在浏览器上运行时...我收到此错误
rApache 有话要说。查看源代码并阅读 最后的HTML注释。
函数错误(file = ifelse(onefile,“Rplots.pdf”,“Rplot%03d.pdf”),:无法打开文件 'Rplots.pdf'
我知道为什么会收到此错误?
答案 0 :(得分:3)
pie()和其他绘图命令将默认尝试写入PDF。如果要使用RApache在网页中显示图像,则此方法不是您想要的。你必须告诉RApache你想要它做什么。
查看解压缩RApache源代码时创建的 test 目录。在那里,您将找到几个脚本,说明如何在网页上呈现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
如果用 pie(school.freq)替换 plot(rnorm(10))行,则将此文件保存在正确的位置(例如/var/www/R/plot.R ),您的图表应出现在网页上。
请务必阅读RApache文档并对其进行配置,以便可以从Web根目录中的位置运行R脚本。