zmniejsz przestrzeń między wykresami grid.arrange

Zadałem pytanieTUTAJ o zorganizowaniu sieci i otrzymaniu wspaniałej odpowiedzi. Chcę teraz zmniejszyć przestrzeń między wątkami, ale otrzymam błąd. Najpierw przedstawiam kod, który działa, a następnie kod błędu (co próbowałem). Nie mogę znaleźćgrid.arrange i zawsze zakładałem, że pochodzigridExtra ale mogę być niepoprawny.

więc 2 części:

Jak mogę zmniejszyć przestrzeń między polami z układem siatkiGdzie mogę znaleźć dokumentacjęgrid.arrange (Baptiste Wiem, że zachowujesz gridExtra, więc popraw moje myślenie lub użycie pakietu, jeśli nie używam go w taki sposób, w jaki był przeznaczony).

Dobry kod złej przestrzeni

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)

Zły kod (moja próba)

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)

Błąd:

Error in `[.unit`(theme$plot.margin, 2) : 
  Index out of bounds (unit subsetting)

questionAnswers(2)

yourAnswerToTheQuestion