Ho tre grafici e cerco di combinarli con grid.arrange. L'ultimo grafico dovrebbe avere un'altezza inferiore rispetto ai primi due grafici e tutti i grafici dovrebbero avere la stessa larghezza.Specificare le larghezze e le altezze dei grafici con grid.arrange
Un esempio di lavoro:
p1 <- qplot(mpg, wt, data=mtcars)
p2 <- p1
p3 <- p1 + theme(axis.text.y=element_blank(), axis.title.y=element_blank())
grid.arrange(arrangeGrob(p1,p2, ncol=1, nrow=2),
arrangeGrob(p3, ncol=1, nrow=1), heights=c(4,1))
Qui, l'ultima trama ha una larghezza maggiore rispetto alle prime due. Nei miei dati reali, anche se tengo il testo e il titolo sull'asse y, ho ancora una larghezza diversa per il terzo grafico.
Ho provato ad aggiungere "larghezze":
grid.arrange(arrangeGrob(p1,p2, ncol=1, nrow=2),
arrangeGrob(p3, ncol=1, nrow=1), heights=c(4,1), widths=c(2,1))
Ma si trasforma in una trama a due colonne ...
Ho provato anche un altro codice:
p1 <- ggplotGrob(p1)
p2 <- ggplotGrob(p2)
p3 <- ggplotGrob(p3)
#
stripT <- subset(p2$layout, grepl("spacer", p2$layout$name))
p3 <- p3[-stripT$t, ]
grid.draw(rbind(p1, p2, p3, size = "first"))
Ho le stesse larghezze ma ora non so come cambiare le altezze ...
Beh, qualcuno può aiutarmi a combinare sia l'altezza e la larghezza aspetti per una trama finale?
Esattamente quello che stavo cercando, grazie mille! – Chika