发生在我身上的奇怪事情:以下代码无法打印到pdf设备:
outnames <- c("1.pdf", "2.pdf")
for (n in outnames){
pdf(n)
qplot(1:10)
dev.off()
}
即使生成了pdf文件,也不会向pdf打印任何内容。然而,
pdf(outnames[2])
qplot(1:10)
dev.off()
将完美地运作。知道为什么吗?转载于R 2.11.1。
答案 0 :(得分:35)
Gappy,闻起来像FAQ 7.22 - 所以请尝试print(qplot(1:10))
。
答案 1 :(得分:10)
@Dirk解释了为什么会发生这种情况(关闭自动打印),但打开设备,在设备上生成绘图,关闭设备的替代方法是ggsave()
。例如:
p1 <- qplot(1:10)
ggsave("p1.pdf", plot = p1)
或通过循环:
outnames <- c("1.pdf", "2.pdf")
for (n in outnames){
p2 <- qplot(1:10)
ggsave(n, plot = p2)
}
最后,我们得到了我们要求的所有生成的图。
> list.files(pattern = ".pdf$")
[1] "1.pdf" "2.pdf"
[3] "p1.pdf"