Oftmals müssen die Achsen angepasst werden, um die Daten besser darzustellen. Wenn du dich gerade ausprobiert hast und versucht hast die Werte überhalb der Balken anzeigen zu lassen, ist es womöglich passiert, dass nicht mehr alle Werte von jedem Balken angezeigt wurden. Dies lag daran, dass die y-Achse zu kurz ist. Du kannst die Achsen ganz einfach in der Funktion scale_x_continuous()
begrenzen. continuous
wird hier genutzt, weil es die Hua (Typ integer oder numeric) handelt. Dort nutzt du für die Begrenzung das Argument limits = c(...)
und gibst darin das Minimum und das Maximum an.
barplotBeyonce <- barplotBeyonce +
geom_text(
stat = "count",
aes(label = ..count..),
vjust = -2.5,
size = 8,
color = "white"
) +
scale_y_continuous(
limits = c(
0,
1750
)
)
barplotBeyonce
## Warning: The dot-dot notation (`..count..`) was deprecated in ggplot2 3.4.0.
## ℹ Please use `after_stat(count)` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was
## generated.
Ebenso kannst du in der Funktion scale_y_continuous
die Achsenmarkierungen bestimmen. Dies machst du im Argument breaks
und gibst dort einfach eine Sequenz an.
barplotBeyonce <- barplotBeyonce +
scale_y_continuous(
breaks = seq(
0,
1750,
100
),
limits = c(
0,
1750
)
)
barplotBeyonce
Das gleiche geht für die x-Achse: Du weißt, dass die Variable edu
ein Faktor mit fünf Leveln (plus NA
) ist. Es handelt sich also nicht um eine kontinuierliche Variable. Daher benutzt du hier die Funktion scale_x_discrete()
.
barplotBeyonce <- barplotBeyonce +
scale_x_discrete(
limits = c(
"ES-ISCED I",
"ES-ISCED II",
"ES-ISCED III",
"ES-ISCED IV",
"ES-ISCED V",
NA
)
)
barplotBeyonce
Du musst also bei nicht-kontinuierlichen Variablen die Ausprägungen anzeigen, die angezeigt werden sollen.
Gerade erscheint die Legende rechts. Du kannst das beliebig ändern mit dem Argument legend.position
innerhalb der zusätzlichen Funktion theme()
:
barplotBeyonce +
theme(legend.position = "bottom") # left, right, top oder none
Auch die Beschriftung der Legende kannst du anpassen:
barplotBeyonce +
scale_fill_manual(
name = "Bildungsniveau",
labels = c(
"sehr niedrig",
"niedrig",
"mittel",
"hoch",
"sehr hoch",
"NA"
),
values = beyonce_palette(25)
)
Jetzt fehlen noch angepasste Achsenbeschriftungen und Titel!
barplotBeyonce +
labs(
x = "Bildungsniveau",
y = "Häufigkeiten",
title = "My first try with ggplot2"
)
Alles im Überblick? Gehe weiter!