我想同时制作两个2x2图。我的动机是因为我最初有这样的逻辑:
pdf(...)
par(mfrow=c(2,2))
for (subplot_i in c(1,2,3,4)) {
plot(f(subplot_i))
}
dev.off()
但现在我想做一些像
这样的事情pdf(..., window=1)
pdf(..., window=2)
par(mfrow=c(2,2))
for (subplot_i in c(1,2,3,4)) {
plot(f(subplot_i), window=1)
plot(g(subplot_i), window=2)
}
dev.off(window=1)
dev.off(window=2)
也就是说,同时建立两个地块。
我可以将它分成两个循环,但这会使循环内部发生的处理加倍。我可以将所有这些处理移到循环之外,但是会有相当大的努力。
我想要的是什么?
答案 0 :(得分:1)
似乎有可能!
f <- function(x) { x }
g <- function(x) { x^2 }
pdf('a.pdf')
par(mfrow=c(2,2))
pdf('b.pdf')
par(mfrow=c(2,2))
for (subplot_i in c(1,2,3,4)) {
plot(f(subplot_i))
dev.set(dev.prev())
plot(g(subplot_i))
dev.set(dev.next())
}
dev.off()
dev.off()