I'm trying to arrange multiple plots using grid.arrange
.
It does the job by the book, and when calling:
p1 <- ggplot(subset(mtcars, cyl = 4), aes(wt, mpg, colour = cyl)) + geom_point()
p2 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point()
grid.arrange(p1, p2, ncol = 2)
I get two nice plots, symmetrical in size:
My graphs refer to different parameters but they do share the same colour coding for groups. So I'd like to remove the legend from all but one and find a nice place for it.
However when I try:
p3 <- ggplot(subset(mtcars, cyl = 8), aes(wt, mpg, colour = cyl)) + geom_point() + guides(colour=FALSE)
grid.arrange(p3, p2, ncol = 2)
The plot without the legend gets (correctly) bigger:
I'd like to keep the size (as a length of x axis) to stay the same across graphs.
I'm aware I could use faceting here, but I'll also need to combine various graphs that (I think) will be hard to implement using facets..
Is it possible to do it with grid.arrange
? Any other solutions that could help here?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…