【发布时间】:2013-11-13 23:41:36
【问题描述】:
我想使用函数打开并命名pdf 绘图设备;在调用设备打开函数的级别上绘制它;然后使用在该级别给出的dev.off() 命令关闭它——这在R 中是否可行?
背景
我经常从 R 打印到 pdf,因此做了很多:
pdf(file.path(plotPATH, pdfName), width = Wwidth, height = Hheight)
plot( ...)
dev.off()
为了促进懒惰,我做了一个功能来打开情节设备并保存pdf(file.path(plotPATH ...))样板。
我创建的函数是:
pdfMk <- function(pdfName, Wwidth = 480, Hheight = 480)
{
pdf(file.path(plotPATH, pdfName), width = Wwidth, height = Hheight)
}
我想这样称呼:
pdfMk("foo.pdf")
plot(...)
dev.off()
问题在于这不起作用...输出是pdf,具有适当的名称和适当的位置,但它始终为空白。
我认为我可能对闭包(或其他东西)有问题,所以我尝试使用 debug 逐步执行 pdfMk 函数并在函数调用结束之前创建绘图,但输出仍然是空白 pdf(有在这两种情况下都没有错误消息)。
这可能吗?如果是这样,我该如何实现我的目标?
【问题讨论】: