ปรับแต่ง Ridgeline ให้ดูสะอาดตา
มาปรับแต่งกราฟจากแบบฝึกหัดที่แล้วให้สวยงามและอ่านง่ายยิ่งขึ้น
เริ่มจากทำให้เส้น density โปร่งแสงขึ้นเล็กน้อย เพื่อลดปัญหาการทับซ้อนกัน โดยปรับค่า alpha ใน geometry ของ ridgeline จากนั้นกำจัดพื้นที่ว่างส่วนเกินที่ ggplot เพิ่มไว้รอบขอบข้อมูล เพื่อหลีกเลี่ยงแถบว่างที่ดูไม่เป็นธรรมชาติทางด้านซ้ายและขวา ซึ่งเกิดขึ้นในบริเวณที่เส้น density ไม่ได้ทำการ interpolate สุดท้าย ใช้ฟังก์ชัน theme() เพื่อลบ tick แกน y ออก เนื่องจากเส้น density ทำหน้าที่ชี้ไปยัง label แกน y อยู่แล้ว
ไลบรารี ggridges โหลดให้แล้ว
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R
คำแนะนำการฝึกหัด
- กำหนดค่า
alphaของgeom_density_ridges()เป็น0.7 - กำหนด
expand = c(0,0)ในคำสั่งscale_x_continuous() - ลบ
axis.ticks.yออกในฟังก์ชันtheme()
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
md_speeding %>%
mutate(day_of_week = factor(day_of_week, levels = c("Mon","Tues","Wed","Thu","Fri","Sat","Sun") )) %>%
ggplot(aes( x = percentage_over_limit, y = day_of_week)) +
# make ridgeline densities a bit see-through with alpha = 0.7
geom_density_ridges(bandwidth = 3.5, ___) +
# set expand values to c(0,0)
scale_x_continuous(limits = c(0,150), ___) +
labs(subtitle = 'Guassian kernel SD = 3.5') +
# remove y axis ticks
theme(___)