r-如何将第一个图放在循环的第一行,将第二个放在第二行



我想在for循环中有一个包含两个图的页面,以便将我的第一个输出放在c(11)中,将下一个输出放到c(21)中。我使用以下命令:

f<-0
for (i in 1:m) {
   if ((i%%2!=0) { 
     f<-f+1
     Outfile<-paste(‘location,file name’,f,’.eps’)
     Par(mfrow=c(2,1)) 
   } else { 
     Outfile<-paste(‘location,file name’,f,’.eps’)
     Par(mfrow=c(2,1)) 
   } 
}

但第二个情节不会进入第二栏,每次它只会给我看第二个剧情,而不是第一个,有什么建议吗?

我不确定我是否理解这个问题,但要在5行2列中显示10个图,例如,您可以执行以下操作:

op <- par(mfrow = c(5, 2), mar = c(0, 0, 0, 0), no.readonly = TRUE)
for (i in 1:10) {
    plot(rnorm(100))
}
par(op)

这或多或少是你想要的吗?

x <- 1:10
#
y1 <- x
y2 <- 2 * x
m <- 40
#
for (i in 1:m) {
  if (i%%2 != 0) {
    png(sprintf("output-file-%d.png", ceiling(i / 2)))
    par(mfrow = c(1, 2))
    plot(x, y1)
  } else { 
    plot(x, y2)
    dev.off()
  } 
}

最新更新