Wie verwende ich den von facet_wrap erzeugten Leerraum?

Ich habe eine facettierte Handlung, die einen x m Gitter. Standardmäßig ist die letzte Zelle (unten rechts) immer leer, daher möchte ich den zusätzlichen Platz nutzen, indem ich ein weiteres ggplot-Objekt hinzufüge. Meine aktuelle Lösung basiert auf Low-Levelviewport Ansatz, der nicht sehr elegant ist und einige Hard-Codierung für Position und Größe erfordert.

Stattdessen gehe ich davon aus, dass der leere Raum auf andere Weise erreichbar ist, wahrscheinlich mitgridExtra?

Hier ist ein minimales Beispiel fürn=m=2. Beachten Sie, dass die Kanten nicht richtig ausgerichtet sind, sodass zusätzliche Arbeit erforderlich ist, um die Parameter des Ansichtsfensters manuell anzupassen(n, m) danach ändern.

library(ggplot2)
library(grid)
p <- qplot(displ, hwy, data = mpg[mpg$cyl != 5, ]) + 
       facet_wrap(~ cyl, nrow=2)
q <- qplot(date, unemploy, data = economics, geom = "line") + 
       labs(x = NULL, y = NULL)
p
print(q, vp=viewport(0.75, 0.275, 0.45, 0.45))

Antworten auf die Frage(1)

Ihre Antwort auf die Frage