【发布时间】:2011-08-18 10:34:08
【问题描述】:
我想循环一个情节并将情节的结果放在PDF中。
以下代码用于执行此操作:
这样做是循环 3 次并从 iris 数据集中绘制 3 个不同的图。然后它应该将其保存到C:/ 驱动器。 PDF 文件已创建,但已损坏。
for(i in 1:3){
pdf(paste("c:/", i, ".pdf", sep=""))
plot(cbind(iris[1], iris[i]))
dev.off()
}
【问题讨论】:
-
这适用于我在 Linux 上。 (无论如何,在该系统上使用正确的路径时)。你给出的例子真的是你在做什么,还是你在使用不同的绘图系统?格子还是ggplot2?如果是,那么您需要将绘图调用包装在
print()中,因为自动打印在循环中关闭,您需要打印 lattice 或 ggplot 对象以让它们绘制一些东西。 -
是的,它们在格子中,但是这个也不起作用......
-
有什么错误吗?我的意思是,正如@Chase 在他的回答中提到的那样,路径在您的系统上有效吗?如果您在那里有写权限,那么只保存到工作目录怎么样,然后只需删除@Chase所示的路径。
-
它以前工作过,当我不使用循环时,我可以在我的 C:/ 路径上制作 pdf 文件
-
在什么之前?您向我们展示了一些您声称不起作用的代码,但没有告诉我们错误是什么,代码实际上与真正的问题不对应(在循环中绘制格子图形)。将其分解为简单的步骤。你能在
"C:/plot_1.pdf"创建一个单独的图吗(C在 Windows 上需要大写吗?)?如果可以,请尝试不使用pdf()和dev.off()位的循环,看看是否可以生成三个格子图。最后,如果这两个都有效,请将它们放在一起。请参阅我的答案以获取您应该能够为 Lattice 运行的代码。
标签: r pdf loops for-loop pdf-generation