我希望在for循环中有一个包含两个绘图的页面,以便将我的第一个输出放在c(1
,1
)中,将下一个输出放在c中(2
1
)。我使用这些命令:
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))
}
}
但是第二个情节不会进入第二列,每次它只会显示第二个情节而不是第一个情节,是否有任何建议?
答案 0 :(得分:0)
我不确定我是否理解了这个问题,但是要显示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)
答案 1 :(得分:0)
这或多或少是你的目标吗?
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()
}
}