Aan de slagGa gratis aan de slag

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

Cursus bekijken

Oefeninstructies

  • Pas de functie mutate in de dataverwerkingspipeline aan zodat disease wordt omgezet naar een factor met levels = 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')
Code bewerken en uitvoeren