Reduzieren Sie den Abstand zwischen den grid.arrange-Diagrammen
ich habe eine Frage gestelltHIER über Raster arrangieren und bekam eine tolle Resonanz. Ich möchte jetzt den Abstand zwischen den Zeichnungen verringern, erhalte jedoch eine Fehlermeldung. Zuerst präsentiere ich den Code, der funktioniert und dann den Fehlercode (was ich versucht habe). Ich kann nicht wirklich findengrid.arrange
und haben immer angenommen, es kommt vongridExtra
aber ich kann falsch sein.
also 2 Teile:
Wie kann ich den Abstand zwischen Parzellen mit Rasteranordnung verringern?Wo finde ich Unterlagen zugrid.arrange
(Baptiste Ich weiß, dass Sie gridExtra beibehalten. Bitte korrigieren Sie meine Überlegungen oder die Verwendung des Pakets, wenn ich es nicht in der beabsichtigten Weise verwende.)Guter Code, schlechter Platz
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("")
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
grid.arrange(gA, gB, ncol=1)
Schlechter Code (mein Versuch)
require(ggplot2);require(gridExtra)
A <- ggplot(CO2, aes(x=Plant)) + geom_bar() +
coord_flip() + ylab("") + theme(plot.margin= unit(1, "cm"))
B <- ggplot(CO2, aes(x=Type)) + geom_bar() +coord_flip()
gA <- ggplot_gtable(ggplot_build(A))
gB <- ggplot_gtable(ggplot_build(B))
maxWidth = grid::unit.pmax(gA$widths[2:3], gB$widths[2:3])
gA$widths[2:3] <- as.list(maxWidth)
gB$widths[2:3] <- as.list(maxWidth)
grid.arrange(gA, gB, ncol=1)
Der Fehler:
Error in `[.unit`(theme$plot.margin, 2) :
Index out of bounds (unit subsetting)