【问题标题】:cannot open file 'Rplots.pdf' using rapache无法使用 rapache 打开文件“Rplots.pdf”
【发布时间】:2012-01-09 12:02:15
【问题描述】:

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

我的 R 代码是这样的

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

当我在浏览器上运行时...我收到此错误

rApache 有话要告诉你。查看源代码并阅读 HTML cmets 结尾。

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

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

【问题讨论】:

  • 看来您没有转储 pdf。有关详细信息,请参阅 ?pdf。
  • 就像 Paul 说的,在代码的开头应该有一个命令 pdf(...)(用文件名等替换 ...,请参阅 ?pdf)它告诉 R 所有后续图形都转到pdf文件,最后应该有dev.off(),它写入文件以便可以打开。
  • 它正在使用命令行 R.. 但它没有在浏览器上使用 rapache 显示任何图形

标签: r rapache


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 2019-02-10
    • 2019-01-06
    • 2010-12-17
    • 2020-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多