Ich habe die ggplot2
Dokumentation für beide Funktionen gelesen . Ich habe mich gefragt, was die Unterschiede sind und welche Situation für die Verwendung der einzelnen Funktionen ( facet_wrap()
und facet_grid()
) richtig wäre .
library(ggplot2)
p <- qplot(displ, hwy, data = mpg)
p + facet_wrap(~ cyl)
p + facet_grid(~ cyl)
Ich gebe dieses kleine Beispiel als Ausgangspunkt. Der Unterschied scheint darin zu liegen, dass Wrap die Diagramme autonomer macht und das Raster insgesamt ein Diagramm erstellt.
quelle
facet_wrap
kann auch zwei Variablen annehmen.Für einzelne variable Diagramme können Sie entweder
facet_grid()
oder verwendenfacet_wrap()
.facet_wrap(~variable)
gibt eine symmetrische Matrix von Plots für die Anzahl der Ebenen von zurückvariable
.facet_grid(.~variable)
gibt Facetten zurück, die denvariable
horizontal verteilten Ebenen entsprechen .facet_grid(variable~.)
gibt Facetten zurück, die den Ebenen von entsprechenvariable
vertikal verteilten .quelle
facet_wrap(~variable)
und nichtfacet_wrap(variable~)
?Zitiert hauptsächlich aus dem Buch ggplot2, p. 148f.
Es gibt drei Arten von Facetten:
facet_null()
: ein einzelnes Diagramm, die Standardeinstellung.facet_wrap()
: "wickelt" ein 1d-Band von Paneelen in 2d.facet_grid()
: Erzeugt ein 2D-Raster von Bedienfeldern, die durch Variablen definiert sind, die die Zeilen und Spalten bilden.Facettenwickel
facet_wrap()
erstellt ein langes Band mit Bedienfeldern (generiert durch eine beliebige Anzahl von Variablen) und verpackt es in 2d. Dies ist nützlich, wenn Sie eine einzelne Variable mit vielen Ebenen haben und die Diagramme platzsparender anordnen möchten.Sie können steuern , wie das Band in ein Gitter mit eingewickelt wird
ncol
,nrow
,as.table
unddir
.ncol
undnrow
steuern Sie, wie viele Spalten und Zeilen (Sie müssen nur eine festlegen).as.table
Steuert, ob die Facetten wie eine Tabelle (TRUE
) mit den höchsten Werten unten rechts oder ein Diagramm (FALSE
) mit den höchsten Werten oben rechts angeordnet sind.dir
steuert die Wickelrichtung : h orizontal oder v ertikale.Facettenraster
From
?facet_grid
:facet_grid()
bildet eine Matrix von Bedienfeldern, die durch Zeilen- und Spaltenfacettierungsvariablen definiert sind. Dies ist am nützlichsten, wenn Sie zwei diskrete Variablen haben und alle Kombinationen der Variablen in den Daten vorhanden sind.Sie können mehrere Variablen in den Zeilen oder Spalten verwenden, indem Sie sie "addieren", z
a + b ~ c + d
.facet grid()
hat einen zusätzlichen Parameter namensspace
, der die gleichen Werte wie annimmtscales
.# If scales and space are free, then the mapping between position # and values in the data will be the same across all panels. This # is particularly useful for categorical axes ggplot(subset(mpg, manufacturer %in% c("audi", "honda", "toyota")) , aes(drv, model)) + geom_point() + facet_grid(manufacturer ~ ., scales = "free", space = "free") + theme(strip.text.y = element_text(angle = 0))
(vereinfacht) Beispiel aus
?facet_grid
quelle