พาย-ชาร์ตที่ลือเลื่อง
ลองนึกภาพพาย-ชาร์ตเป็น stacked bar chart ที่ถูก "พับ" รอบแกนกลาง ซึ่งวิธีคิดนี้สอดคล้องกับวิธีสร้างพาย-ชาร์ตใน ggplot2 ได้อย่างดี
โค้ดที่เตรียมไว้จะสรุปข้อมูล who_disease ออกมาเป็น data frame ที่มีโรค 3 ชนิด ได้แก่ measles, mumps และ other พร้อมจำนวนเคสทั้งหมดในชุดข้อมูล
หน้าที่ของคุณคือแปลง ggplot object ที่ว่างเปล่าให้กลายเป็น stacked bar chart แล้วจึงแปลงต่อเป็นพาย-ชาร์ตโดยใช้ coord_polar(theta = 'y')
สังเกตว่ากำหนด x = 1 ไว้ใน aesthetics เพราะต้องการแสดง bar chart เพียงแท่งเดียวในตอนนี้ เราจะเรียนรู้เรื่อง stacked bar chart หลายแท่งในบทเรียนถัดไป!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R
คำแนะนำการฝึกหัด
- เพิ่ม column geometry (
geom_col()) เข้าไปใน ggplot object ที่เตรียมไว้ - เปลี่ยนไปใช้ระบบพิกัดเชิงขั้วโดยเพิ่ม
coord_polar()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Wrangle data into form we want.
disease_counts <- who_disease %>%
mutate(disease = ifelse(disease %in% c('measles', 'mumps'), disease, 'other')) %>%
group_by(disease) %>%
summarise(total_cases = sum(cases))
ggplot(disease_counts, aes(x = 1, y = total_cases, fill = disease)) +
# Use a column geometry.
___
# Change coordinate system to polar and set theta to 'y'.
___