Ich habe drei Plots und ich versuche, sie mit grid.arrange zu kombinieren. Die letzte Parzelle sollte eine geringere Höhe als die ersten beiden Parzellen haben und alle Parzellen sollten die gleiche Breite haben.Geben Sie Breiten und Höhen von Plots mit grid.arrange
Ein Arbeitsbeispiel:
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))
Hier ist die letzte Handlung hat eine größere Breite als die ersten beiden. In meinen realen Daten, auch wenn ich den Text und den Titel auf der y-Achse behalte, habe ich immer noch eine andere Breite für den dritten Plot.
Ich habe versucht, "Breiten" hinzuzufügen:
grid.arrange(arrangeGrob(p1,p2, ncol=1, nrow=2),
arrangeGrob(p3, ncol=1, nrow=1), heights=c(4,1), widths=c(2,1))
Aber es stellt sich in eine zweispaltige Grundstück ...
Ich habe auch versucht, einen anderen Code:
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"))
Ich habe die gleichen Breiten, aber jetzt weiß ich nicht, wie man die Höhen ändert ...
Nun, kann mir jemand helfen für eine endgültige Handlung sowohl die Höhe und Breite Aspekte zu kombinieren?
Genau das, was ich suchte, vielen Dank! – Chika