【问题标题】:Save multiple graphs one after another in one pdf file [duplicate]将多个图形依次保存在一个pdf文件中[重复]
【发布时间】:2011-11-23 23:28:18
【问题描述】:

可能重复:
How to print R graphics to multiple pages of a PDF and multiple PDFs?

我是 R 新手,有一个简短的问题。以下代码为每个图形写入一个 .pdf 文件。我想在一个 pdf 文件中一个接一个地添加数字。太感谢了。非常感谢任何帮助。

i=5  
while (i<=10)   
{   
  name1="C:\\temp\\"  
  num=i   
  ext = ".pdf"  
  path3 = paste(name1,num,ext)  
  par(mfrow = c(2,1))  
  pdf(file=path3)  
  VAR1=rnorm(i)  
  VAR2=rnorm(i)  
  plot(VAR1,VAR2)  
  dev.off()  
  i=i+1  
}  

【问题讨论】:

  • 查看help(pdf) 中的onefile 选项。

标签: r plot


【解决方案1】:

只需将您的 pdf() 函数调用和您的 dev.off() 调用移到循环之外:

somePDFPath = "C:\\temp\\some.pdf"
pdf(file=somePDFPath)  

for (i in seq(5,10))   
{   
  par(mfrow = c(2,1))
  VAR1=rnorm(i)  
  VAR2=rnorm(i)  
  plot(VAR1,VAR2)   
} 
dev.off() 

注意我使用seq() 函数循环而不是while() 与计数器变量。

【讨论】:

  • 我厌倦了这个,但它没有保存文件。
  • @user2806363,我刚刚在 R 3.1.1 中尝试了上述 sn-p,它的工作方式与 3 年前完全相同。我的猜测是您的文件路径对您的设置无效...
  • 是的,它有效。就我而言,我必须在一个 pdf 文件中保存大约 10000 个图。如何在一页中放置多个图而不是每页放置一个图?我不想拥有 10000 页的 .pdf 文件。我喜欢 .pdf 文件大约 2000 页。
  • @user2806363,查看par 的帮助,尤其是mfrow 选项。 pdf(file=somePath); par(mfrow=c(2,2)); plot(x); plot(y); plot(z); plot(q); dev.off(),这将创建一个页面,其中的情节安排为 2x2...
  • 这对我来说很好用。谢谢你,马克,它很简单,正是我所需要的。
猜你喜欢
  • 2013-07-21
  • 2012-07-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多