Stapels ordenen voor leesbaarheid
In de laatste visualisatie hebben we alle ziekten die geen mazelen of bof zijn samengevoegd in een eigen categorie. Het is dus logisch dat we minder belang hechten aan het verloop van de categorie ‘other’ dan aan dat van mazelen en bof.
Daardoor heeft de grafiek een probleem. Doordat de staven zijn gestapeld met mazelen bovenaan, bof in het midden en other onderaan, is het lastig om een goed gevoel te krijgen voor het gedrag van bof in de tijd. De basislijn is namelijk niet constant door veranderende waarden in de mazelenproporties.
Ggplot bepaalt de volgorde van de staven en de legenda op basis van de volgorde waarin het de variabelen in de gegevensset ziet. Om dit te overschrijven, zet je de kolom disease om naar een factor met de levels in de volgorde die we in de grafiek willen gebruiken.
Deze oefening maakt deel uit van de cursus
Best practices voor visualisaties in R
Oefeninstructies
- Pas de functie mutate in de dataverwerkingspipeline aan zodat
diseasewordt omgezet naar een factor metlevels = c('measles', 'other', 'mumps'). - Maak de plot opnieuw met dezelfde code als in de vorige oefening.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
disease_counts <- who_disease %>%
mutate(
disease = ifelse(disease %in% c('measles', 'mumps'), disease, 'other') %>%
factor(___) # change factor levels to desired ordering
) %>%
group_by(disease, year) %>%
summarise(total_cases = sum(cases))
# plot
ggplot(disease_counts, aes(x = year, y = total_cases, fill = disease)) +
geom_col(position = 'fill')