Eine Alternative zu Histogrammen sind Ridgeline Plots, die ebenfalls die Dichte-Verteilung anzeigen. Dazu nutzen wir eine Funktion aus der library ggridges
. Ridgeline Plots stellen immer aufgeteilte Variablen dar, du benötigst also die Angabe einer y-Variable in der ggplot()
-Funktion. Du erstellst gleich ein Ridgeline Plot des Alters getrennt nach Geschlechtskategorien.
install.packages("ggridges")
library("ggridges")
Um ein Ridgeline Plot zu erstellen, nutzen wir die Funktion geom_density_ridges()
: Wir stellen innerhalb der ggplot()
-Funktion noch Geschlecht als y-Variable fest und sagen, dass die farbliche Darstellung nach der Variable gndr
unterschiedlich sein soll (Argument fill = gndr
):
ridgeline <- ggplot(
pss,
aes(
agea,
gndr,
fill = gndr
)
) +
geom_density_ridges(
scale = 0.9,
alpha = 0.4
) +
theme_ridges() +
theme(legend.position = "none")
ridgeline
## Warning: Removed 157 rows containing non-finite outside the scale range
## (`stat_density_ridges()`).
Auch dieses kannst du leicht wieder anpassen.
ridgeline +
labs(
title = "Ridgeline Plot",
x = "Age in years",
y = ""
) +
theme_ridges(
grid = TRUE,
center_axis_labels = TRUE
) +
scale_fill_cyclical(
labels = c(
"female",
"male"
),
values = cbp1,
guide = "legend",
name = "Gender"
) +
theme(axis.text.y = element_blank())
## Warning: Removed 157 rows containing non-finite outside the scale range
## (`stat_density_ridges()`).