เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

Violin plot ร่วมกับ Boxplot

หากต้องการคงสถิติสรุปที่มีประโยชน์ของ boxplot ไว้ โดยไม่สูญเสียข้อดีของ violin plot ก็สามารถเพิ่ม geom_boxplot() ซ้อนทับบน violin geometry ใน plot object ได้เลย

อย่างไรก็ตาม ปัญหาที่พบเมื่อทำแบบนี้คือ boxplot จะกว้างเกินไปจนดูไม่สวยงาม สิ่งที่ต้องการจริง ๆ คือเส้นแนวนอนเท่านั้น โชคดีที่ geom_boxplot() มีอาร์กิวเมนต์ width ไว้ปรับความกว้างของ boxplot เช่น 0.5 หมายถึงครึ่งหนึ่งของความกว้างปกติ

แก้ไข plot ที่สร้างไว้ให้เพิ่ม boxplot ระหว่าง violin geometry กับ point geometry นอกจากนี้ให้เปลี่ยนรูปแบบของจุดเป็น shape = 95 ซึ่งเป็นเครื่องหมาย tick แนวนอน และสุดท้าย อย่าลืมระบุความกว้างของ kernel ให้ผู้ใช้ทราบด้วย

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

แนวทางปฏิบัติที่ดีที่สุดสำหรับการสร้างภาพข้อมูลใน R

ดูคอร์ส

คำแนะนำการฝึกหัด

  • เพิ่ม geom_boxplot() ระหว่าง violin geometry กับ point geometry
  • ตั้งค่า alpha ของ box เป็น 0 และ width เป็น 0.3
  • เปลี่ยน point geometry เป็น shape = 95 และลบอาร์กิวเมนต์ size ออก
  • เพิ่ม subtitle ให้ plot โดยใช้ labs(subtitle = 'Gaussian kernel SD = 2.5')

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

md_speeding %>% 
    filter(vehicle_color == 'RED') %>%
    ggplot(aes(x = gender, y = speed)) + 
    geom_violin(bw = 2.5) +
    # add a transparent boxplot and shrink its width to 0.3
    ___ +
    # Reset point size to default and set point shape to 95
    geom_point(alpha = 0.3, size = 0.5) +
    # Supply a subtitle detailing the kernel width
    ___
แก้ไขและรันโค้ด