提问人:Dan Goldstein 提问时间:9/9/2009 更新时间:7/20/2020 访问量:102612
如何将 R 图形打印到一个 PDF 的多个页面和多个 PDF?
How to print R graphics to multiple pages of a PDF and multiple PDFs?
问:
我知道那件事
pdf("myOut.pdf")
将在 R 中打印为 PDF。如果我想怎么办
制作一个循环,在 PDF 文件的新页面上打印后续图表(附加到末尾)?
制作一个循环,将后续图形打印到新的 PDF 文件(每个文件一个图形)?
答:
44赞
Mark
9/9/2009
#1
不确定我是否理解。
附加到同一文件(每页一个图):
pdf("myOut.pdf")
for (i in 1:10){
plot(...)
}
dev.off()
每个循环的新文件:
for (i in 1:10){
pdf(paste("myOut",i,".pdf",sep=""))
plot(...)
dev.off()
}
评论
5赞
Dirk Eddelbuettel
9/9/2009
你甚至不需要在文件名上粘贴()——R 也可以为你做到这一点;看看我的答案。
0赞
Ruben
4/28/2016
你怎么能在每一页中包含几个情节?例如,一页中有 5 个图,下一页有 5 个图。我尝试在命令之前包含,但我只得到每个图(在本例中为 10 个图)出现在 10 页中,但具有函数中定义的维度大小,在本例中为 5 行和 1 列。提前致谢par(mfrow=c(5,1))
plot
par
1赞
user3375672
9/14/2017
@Ruben。您应该在 par(mfrow=c(5,1)) 之前调用 pdf()(即:不是相反的方向)。您也可以考虑将 pdf() 中的宽度和高度增加到小。希望这会有所帮助。
64赞
Dirk Eddelbuettel
9/9/2009
#2
你看过帮助(pdf)吗?
用法:
pdf(file = ifelse(onefile, "Rplots.pdf", "Rplot%03d.pdf"), width, height, onefile, family, title, fonts, version, paper, encoding, bg, fg, pointsize, pagecentre, colormodel, useDingbats, useKerning)
参数:
file: a character string giving the name of the file. For use with 'onefile=FALSE' give a C integer format such as '"Rplot%03d.pdf"' (the default in that case). (See 'postscript' for further details.)
对于 1),将 onefile 保留为默认值 TRUE。多个绘图进入同一个文件。
对于 2),将 onefile 设置为 FALSE,并选择一个 C 整数格式的文件名,R 将创建一组文件。
评论
8赞
Thomas Browne
11/25/2014
如果您使用的是网格布局,如何移动到下一个 PDF 页面?例如,您准备了一些 ggplot,将它们放入多页 PDF 第 1 页的视口中,但是您如何让下一个视口进入第 2 页......3 ....等?
1赞
statistical_model
1/26/2016
#3
pdf(file = "Location_where_you_want_the_file/name_of_file.pdf", title="if you want any")
plot() # Or other graphics you want to have printed in your pdf
dev.off()
您可以在 pdf 中绘制任意数量的内容,这些绘图将添加到不同页面的 pdf 中。 dev.off() 关闭与文件的连接,将创建 pdf,您将看到类似的东西
> dev.off()
null device 1
评论