Ordenando a pilha para legibilidade
No último gráfico, como agrupamos todas as doenças que não são sarampo e caxumba em uma categoria própria, é razoável supor que nos importamos menos com a trajetória da categoria "other" do que com as de sarampo e caxumba.
Por causa disso, o gráfico que fizemos tem um problema. A forma como as barras foram empilhadas, com sarampo em cima, caxumba no meio e other embaixo, dificulta ter uma boa intuição sobre o comportamento da caxumba ao longo do tempo, porque sua linha de base não é constante devido às mudanças nos valores das proporções de sarampo.
O ggplot ordena as barras e a legenda com base na ordem em que vê as variáveis no conjunto de dados. Para sobrescrever isso, transforme a coluna de doença em um fator com os levels na ordem que queremos que o gráfico use.
Este exercício faz parte do curso
Boas práticas de visualização em R
Instruções do exercício
- Altere a função mutate no pipeline de manipulação de dados para transformar
diseaseem um fator comlevels = c('measles', 'other', 'mumps'). - Refaça o gráfico usando o mesmo código do último exercício.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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')