首页 > 解决方案 > R中的多个绘图设备

问题描述

要在 pdf 中保存多个图,我这样做:

  pdf("plot1.pdf")

  for(i in 1:10){
      p <- plot(rnorm(10))
      p
  }
  dev.off()

有什么办法可以打开两个 pdf 并在其中打印不同的图。就像是

  pdf("plot1.pdf")
  pdf("plot2.pdf")

  for(i in 1:10){
     p1 <- plot(rnorm(10))
     p1 # print this in plot1.pdf

     p2 <- plot(rnorm(100))
     p2 # print this in plot2.pdf
  }
  dev.off()

标签: rplotgraphics

解决方案


您一次只能激活一个图形设备,但您可以在它们之间切换。dev.list()R按照您创建它们的顺序跟踪打开的设备列表 ( )。例如你可以做

pdf("plot1.pdf")
pdf("plot2.pdf")

for(i in 1:3){
  dev.set(dev.prev()) #go back to plot1.pdf
  plot(rnorm(10))

  dev.set(dev.next()) # jump ahead to plot2.pdf
  plot(rnorm(100))
}
dev.off()
dev.off()

(请注意,将结果存储plot(rnorm(10))到变量是没有意义的,因为它不返回任何内容。基本绘图通常只是具有绘制到屏幕的副作用。)


推荐阅读