我想要在R中的单个图像中的网格中显示n
个图。使用par
我可以预先指定用于划分图的行数和列数。例如,对于n = 4
,在方形2x2网格中组织4个图是最有意义的。
par(mfrow=c(2,2))
plot(p1)
plot(p2)
plot(p3)
plot(p4)
我希望这样能为任意n
工作。所以,例如,让我们说我想并排绘制12个情节。最实际的是,得到的绘图网格尽可能是方形的:所以,我喜欢3x4网格par(mfrow=c(3, 4))
,而不是12x1 par(mfrow=c(12, 1))
。或者,如果我想绘制11个图,那么将第12个网格留空将是正常的。
在R中有快速的方法吗?否则我想我必须做一些代数 - 这是一个优化问题,在给定固定区域n
的情况下最小化网格的周长。
答案 0 :(得分:2)
grDevices::n2mfrow()
可以为您做到
答案 1 :(得分:0)
对于nplots
图,如何:
rows = floor(sqrt(nplots))
columns = ceiling(sqrt(nplots))
par(mfrow=c(rows,columns))