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)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage