有没有办法在R中同时建立两个地块?

时间:2015-07-16 19:34:10

标签: r plot

我想同时制作两个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)

也就是说,同时建立两个地块。

我可以将它分成两个循环,但这会使循环内部发生的处理加倍。我可以将所有这些处理移到循环之外,但是会有相当大的努力。

我想要的是什么?

1 个答案:

答案 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()