रीडेबिलिटी के लिए स्टैक का क्रम
पिछले प्लॉट में, चूँकि हमने measles और mumps के अलावा बाकी सभी बीमारियों को एक अलग 'other' श्रेणी में मिला दिया, यह मानना ठीक है कि measles और mumps की तुलना में हमें 'other' श्रेणी की ट्राजेक्टरी की कम परवाह है.
इसी वजह से बनाए गए प्लॉट में एक समस्या आ जाती है। बार्स जिस क्रम में स्टैक हुए हैं—ऊपर measles, बीच में mumps, और नीचे other—उससे समय के साथ mumps के व्यवहार को समझना कठिन हो जाता है, क्योंकि measles के अनुपात बदलने से mumps का बेसलाइन स्थिर नहीं रहता.
Ggplot डेटासेट में वैरिएबल्स जिस क्रम में दिखाई देते हैं, उसी के आधार पर बार्स और लीजेंड का क्रम तय करता है। इसे ओवरराइड करने के लिए, disease कॉलम को एक factor में बदलें और levels को उसी क्रम में सेट करें, जैसा हम अपने प्लॉट में चाहते हैं।
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में Visualization की Best Practices
अभ्यास निर्देश
- डेटा-मैनिपुलेशन पाइपलाइन में mutate फंक्शन बदलें ताकि
diseaseको factor में बदला जाए, जिसमें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')