sagen, dass ich diese Daten haben:Nested facet_wrap() in ggplot2
set.seed(100)
mydf<-
data.frame(
day = rep(1:5, each=20),
id = rep(LETTERS[1:4],25),
x = runif(100),
y = sample(1:2,100,T)
)
Wenn ich will nur alle fünf Tage id=="A"
plotten mit facet_wrap()
, tun wir so:
ggplot(mydf[mydf$id=="A",], aes(x,y)) +
geom_tile() +
facet_wrap(~day,ncol=1)
Aber wenn ich vier von diesen nebeneinander automatisch in einem 2x2 Raster (dh mit A, B, C, D) plotten möchte, ist das möglich Verwenden Sie eine verschachtelte Facette? Ich habe versucht, mehrere Variablen in der Funktion wie folgt vorgehen:
ggplot(mydf, aes(x,y)) +
geom_tile() +
facet_wrap(~ day+id)
aber das gibt dies:
Ich bin für eine verschachtelte Ansatz suchen. Fünf facettierte Zeilen pro Tag in jedem Panel mit jedem Diagramm in Spalten/Zeilen nach ID. Offensichtlich für eine kleine Anzahl von Plots konnte ich einzeln speichern und mit grid.arrange
etc. arrangieren, aber in den echten Daten habe ich viele Plots also so automatisieren wollen wenn möglich.
EDIT:
Als Antwort auf Kommentar - das ist die Art der gewünschten Ausgabe:
Ich glaube, Sie suchen 'facet_grid (Tag ~ id)' – Jaap
@ProcrastinatusMaximus, die nicht die erforderliche Leistung zu erzeugen scheint - es entsteht ein Raster/Platte von fünf Zeilen und vier Spalten. Ich versuche, zwei Zeilen von zwei Plots (in diesem Beispiel) mit der Zeile facet_wrapped wie im Beispiel "A" zu erhalten. – jalapic