Упорядочивание стека для удобства восприятия
В предыдущем графике мы объединили все болезни, кроме кори и эпидемического паротита, в отдельную категорию. Поэтому можно предположить, что траектория категории «другие» интересует нас меньше, чем траектории кори и паротита.
Из-за этого построенный график имеет один недостаток. Порядок расположения слоёв: корь сверху, паротит в середине, прочие снизу — затрудняет оценку динамики паротита во времени, поскольку его базовая линия нестабильна из-за изменяющихся значений доли кори.
Ggplot упорядочивает столбцы и легенду в соответствии с порядком переменных в наборе данных. Чтобы переопределить этот порядок, преобразуйте столбец с болезнями в фактор, указав levels в том порядке, который нужен для графика.
Это упражнение является частью курса
Лучшие практики визуализации в R
Инструкции к упражнению
- Измените функцию mutate в конвейере обработки данных так, чтобы столбец
diseaseстал фактором сlevels = c('measles', 'other', 'mumps'). - Постройте график заново, используя тот же код, что и в предыдущем упражнении.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
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')