Facet_wrap gebruiken in r (met voorbeelden)
De functie facet_wrap() kan worden gebruikt om plots met meerdere panelen te produceren in ggplot2.
Deze functie gebruikt de volgende basissyntaxis:
library (ggplot2) ggplot(df, aes (x_var, y_var)) + geom_point() + facet_wrap(vars(category_var))
De volgende voorbeelden laten zien hoe u deze functie kunt gebruiken met de ingebouwde mpg- gegevensset in R:
#view first six rows of mpg dataset
head(mpg)
manufacturer model displ year cyl trans drv cty hwy fl class
audi a4 1.8 1999 4 auto(l5) f 18 29 p compact
audi a4 1.8 1999 4 manual(m5) f 21 29 p compact
audi a4 2.0 2008 4 manual(m6) f 20 31 p compact
audi a4 2.0 2008 4 auto(front) f 21 30 p compact
audi a4 2.8 1999 6 auto(l5) f 16 26 p compact
audi a4 2.8 1999 6 manual(m5) f 18 26 p compact
Voorbeeld 1: facet_wrap() basisfunctie
De volgende code laat zien hoe u meerdere spreidingsdiagrammen kunt maken in ggplot2 met behulp van displ als de x-asvariabele, hwy als de y-asvariabele en class als de groeperingsvariabele:
ggplot(mpg, aes (displ, hwy)) +
geom_point() +
facet_wrap(vars(class))
Voorbeeld 2: Gebruik aangepaste labels
De volgende code laat zien hoe u de functie facet_wrap() gebruikt met aangepaste labels voor plottitels:
#define custom labels
plot_names <- c('2seater' = "2 Seater",
'compact' = "Compact Vehicle",
'midsize' = "Midsize Vehicle",
'minivan' = "Minivan",
'pickup' = "Pickup Truck",
'subcompact' = "Subcompact Vehicle",
'suv' = "Sport Utility Vehicle")
#use facet_wrap with custom plot labels
ggplot(mpg, aes (displ, hwy)) +
geom_point() +
facet_wrap(vars(class), labeller = as_labeller (plot_names))
Voorbeeld 3: Gebruik aangepaste schalen
De volgende code laat zien hoe u de functie facet_wrap() gebruikt met aangepaste schalen voor elke afzonderlijke plot:
#use facet_wrap with custom scales
ggplot(mpg, aes (displ, hwy)) +
geom_point() +
facet_wrap(vars(class), scales=' free ')
Voorbeeld 4: Gebruik een aangepaste opdracht
De volgende code laat zien hoe u de functie facet_wrap() gebruikt met aangepaste volgorde voor individuele plots:
#define order for plots
mpg <- within(mpg, class <- factor(class, levels=c(' compact ', ' 2seater ', ' suv ',
' subcompact ', ' pickup ',
' minivan ', ' midsize ')))
#use facet_wrap with custom order
ggplot(mpg, aes (displ, hwy)) +
geom_point() +
facet_wrap(vars(class))
Houd er rekening mee dat de plots in de exacte volgorde verschijnen die we hebben opgegeven.
Aanvullende bronnen
Hoe de lettergrootte in ggplot2 te veranderen
Hoe een legenda in ggplot2 te verwijderen
Hoe aslabels te roteren in ggplot2