Mit grid.arrangekann ich mehrere ggplotFiguren in einem Raster anordnen , um eine Figur mit mehreren Feldern zu erhalten, indem ich Folgendes verwende:
library(ggplot2)
library(grid)
library(gridExtra)
Generieren Sie dann einige ggplot2-Diagramme
plot5 <- grid.arrange(plot4, plot1, heights=c(3/4, 1/4), ncol=1, nrow=2)
Wie kann ich ein "unausgeglichenes" 2-Spalten-Layout mit einem Diagramm in der gesamten ersten Spalte und drei Diagrammen in der zweiten Spalte erhalten? Ich spielte mit einem "Grid-of-Grids" -Ansatz, indem ich versuchte, grid.arrangeein Gitter (z. B. plot5oben) gegen ein anderes Diagramm zu zeichnen, erhielt jedoch Folgendes:
Fehler in arrangGrob (..., as.table = as.table, clip = clip, main = main ,: Eingabe muss grobs sein!
Aktualisieren:
Danke für den Hinweis. Ich werde in viewportsund schauen grid. In der Zwischenzeit hat die layOutFunktion im 'wq'-Paket dank @DWin für die Kompilierungsfigur in meinem SweaveDokument sehr gut funktioniert :

Update 2:
Der arrangeGrobBefehl (wie von @baptiste vorgeschlagen) funktioniert ebenfalls gut und scheint sehr intuitiv zu sein - zumindest war es einfach, die Breite der beiden Spalten zu ändern. Es hat auch den Vorteil, dass das `wq'-Paket nicht benötigt wird.
zB Hier ist der Code aus meiner Sweave-Datei:
<<label=fig5plot, echo=F, results=hide>>=
plot5<-grid.arrange(plot4, arrangeGrob(plot1, plot2, plot3, ncol=1),
ncol=2, widths=c(1,1.2))
@
\begin{figure}[]
\begin{center}
<<label=fig5,fig=TRUE,echo=T, width=10,height=12>>=
<<fig5plot>>
@
\end{center}
\caption{Combined plots using the `arrangeGrob' command.}
\label{fig:five}
\end{figure}
welches die folgende Ausgabe erzeugt:

Übrigens, sagt mir jemand, warum die '> NA' erscheint?
grid. Siehe auch Hadleys ggplot2-Buch, Abschnitt 8.4.2.
grid.arrangekann mit verschachtelten Ansichtsfenstern unter Verwendung seines Begleiters verwendet werden arrangeGrob(im Wesentlichen wird a zurückgegeben gTree), wie im folgenden Beispiel.
plot5ist nicht erforderlich, da grid.arrangenichts zurückgegeben wird (NULL). Wenn Sie den resultierenden Grob speichern möchten, verwenden Sie ihn arrangeGroberneut (und grid.drawzeigen Sie ihn an).



grid.arrangemöglicherweise nicht flexibel genug (Stackoverflow nach "[r] grid viewport" durchsuchen)