grid.arrange, grid.layout - legend, global y axis title
Hi, Please don't cross post. It seems that ggplotGrob has been replaced by new functions. You can define it as ggplotGrob <- function(x) ggplot2:::gtable_gTree(ggplot2:::ggplot_gtable(x)) and it seems to work as before with grid.arrange(). HTH, baptiste
On Wed, Nov 16, 2011 at 3:26 AM, Johannes Radinger <JRadinger at gmx.at> wrote:
Hello, I created several plot with ggplot2 dev mode. Now I want to combine the plots in a grid e.g. 2x2 with a fixed size of the output. What I am doing at the moment is: grid.newpage() pushViewport(viewport(layout = grid.layout(nrow=2, ncol=2, ? ? ? ? ? ? ? ? ? ? ? ?widths = unit(c(7.5,6.5), "cm"), ? ? ? ? ? ? ? ?heights = unit(rep(5, 2), "cm")))) print(plot1, vp = viewport(layout.pos.row = 1, layout.pos.col = 1)) print(plot2, vp = viewport(layout.pos.row = 1, layout.pos.col = 2)) print(plot3, vp = viewport(layout.pos.row = 2, layout.pos.col = 1)) print(plot4, vp = viewport(layout.pos.row = 2, layout.pos.col = 2)) This is working well so far. The y-axis are for all plots the same so I'd like to have a global y-axis title on the left side. How can that be done using my approach? I also would like to add a global vertical legend for my plots below all plots. The legend should show the to different symbols (same as for the single plots (ggplot2)). I also don't know how to do that. I know that there is the function grid.arrange which can do both things but this isn't working because I am in the dev mode of ggplot. Then I get the error: Error: could not find function "ggplotGrob. I load my libraries the following way: 1) import data 2) load library(gridExtra) 3) load library(devtools) ? dev_mode(TRUE) ? library(ggplot2) ? library(reshape2) 4) produce plots 5) arrange the plots. So what is the best way to proceed? Should I stay with the grid.layout approach and can I get there a global legend and a global y axis title? Or how can I use grid.arrange, define the position of the gobal legend and set the single plot to a fixed size? I hope that wasn't to complicated... /Johannes -- NEU: FreePhone - 0ct/min Handyspartarif mit Geld-zur?ck-Garantie! Jetzt informieren: http://www.gmx.net/de/go/freephone -- You received this message because you are subscribed to the ggplot2 mailing list. Please provide a reproducible example: http://gist.github.com/270442 To post: email ggplot2 at googlegroups.com To unsubscribe: email ggplot2+unsubscribe at googlegroups.com More options: http://groups.google.com/group/ggplot2