Contesto
Voglio tracciare due ggplot2 sulla stessa pagina con la stessa legenda. http://code.google.com/p/gridextra/wiki/arrangeGrob descrive come farlo. Questo sembra già buono. Ma ... Nel mio esempio ho due trame con lo stesso asse xe un diverso asse y. Quando l'intervallo dell'asse y è almeno 10 volte superiore a quello dell'altro grafico (ad esempio 10000 anziché 1000), ggplot2 (o griglia?) Non allinea correttamente i grafici (vedere Output sotto).Allinea più diagrammi ggplot2 con griglia
Domanda
Come faccio anche allineare il lato sinistro del grafico, utilizzando due diversi asse y?
Esempio di codice
x = c(1, 2)
y = c(10, 1000)
data1 = data.frame(x,y)
p1 <- ggplot(data1) + aes(x=x, y=y, colour=x) + geom_line()
y = c(10, 10000)
data2 = data.frame(x,y)
p2 <- ggplot(data2) + aes(x=x, y=y, colour=x) + geom_line()
# Source: http://code.google.com/p/gridextra/wiki/arrangeGrob
leg <- ggplotGrob(p1 + opts(keep="legend_box"))
legend=gTree(children=gList(leg), cl="legendGrob")
widthDetails.legendGrob <- function(x) unit(3, "cm")
grid.arrange(
p1 + opts(legend.position="none"),
p2 + opts(legend.position="none"),
legend=legend, main ="", left = "")
Vedere: http://stackoverflow.com/questions/13294952/left-align-two-g raph-edges-ggplot/13295880 # 13295880? –