読みやすさのための積み上げ順序の調整
前のプロットでは、はしか(measles)とおたふく風邪(mumps)以外の病気をすべて「other」カテゴリにまとめました。つまり、はしかやおたふく風邪に比べると「other」の推移は重視しないと考えられます。
このため、作成したプロットには問題があります。棒が「measles」が上、「mumps」が中、「other」が下の順に積み上がっているため、はしかの割合が変化すると基準線が動いてしまい、おたふく風邪(mumps)の時間的な変化が直感的に読み取りにくくなっています。
ggplotは、データセット内で変数が現れる順序に基づいて、棒と凡例の順序を決めます。これを上書きするには、levelsを望む順序に設定して、disease列を因子に変換します。
この演習はコースの一部です
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')