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 )
I would like to center the bottom two plots. How can do this? I can do it using split.screen
but I'm unable to figure out how to do this with ggplot2
. ggplot2
has cooler graphics.
Thanks in advance!
PK
You could use the gtable
package for flexible and convenient grid layouts, or simply nest two arrangeGrobs,
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)
Edit: For the bottom plots to span the full width, you simply need to remove the dummy nullGrobs() in the above solution:
grid.arrange(arrangeGrob(p1, p2, p3, nrow=1),
arrangeGrob(p4, p5, nrow=1),
nrow=2)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With