library( ggplot2 )
library( gridExtra )
p1 <- qplot( rnorm( 10 ), rnorm( 10 ) )
p2 <- qplot( rnorm( 10 ), rnorm( 10 ) )
p3 <- qplot( rnorm( 10 ), rnorm( 10 ) )
p4 <- qplot( rnorm( 10 ), rnorm( 10 ) )
p5 <- qplot( rnorm( 10 ), rnorm( 10 ) )
grid.arrange( p1, p2, p3, p4, p5, nrow=2 )
我想将底部的两个地 block 居中。怎么能做到这一点?我可以使用
split.screen
但我无法弄清楚如何使用 ggplot2
. ggplot2
有更酷的图形。提前致谢!
PK
最佳答案
您可以使用 gtable
用于灵活方便的网格布局的包,或者简单地嵌套两个arrangeGrob,
ng = nullGrob()
grid.arrange(arrangeGrob(p1, p2, p3, nrow=1),
arrangeGrob(ng, p4, p5, ng, nrow=1, widths=c(0.5, 1, 1, 0.5)),
nrow=2)
编辑:对于跨越整个宽度的底部图,您只需删除上述解决方案中的虚拟 nullGrobs() :
grid.arrange(arrangeGrob(p1, p2, p3, nrow=1),
arrangeGrob(p4, p5, nrow=1),
nrow=2)
关于r - ggplot2:在绘图少于视口(viewport)的网格上绘图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16796260/