ไวโอลินพล็อต

Visualize

ไวโอลินพล็อต

ไวโอลินพล็อตผสมข้อดีของ boxplot กับ KDE ทำให้เห็นทั้งรูปทรงของการกระจายและค่ากลางในกราฟเดียว

import seaborn as sns
import matplotlib.pyplot as plt

penguins = sns.load_dataset("penguins").dropna(subset=["bill_length_mm", "species"])

fig, ax = plt.subplots(figsize=(6, 4))
sns.violinplot(data=penguins, x="species", y="bill_length_mm", palette="Set3", ax=ax)
ax.set_xlabel("สายพันธุ์เพนกวิน")
ax.set_ylabel("ความยาวจะงอยปาก (มม.)")
ax.set_title("ไวโอลินพล็อตความยาวจะงอยปากตามสายพันธุ์")
ax.grid(axis="y", alpha=0.2)

fig.tight_layout()

plt.show()

ไวโอลินพล็อตของความยาวจะงอยปาก

วิธีอ่าน #

  • ส่วนที่กว้างแสดงว่ามีข้อมูลหนาแน่น ส่วนแคบบอกว่ามีข้อมูลน้อย
  • เส้นกลางและจุดในตัวไวโอลินระบุค่ามัธยฐาน/ควอร์ไทล์ ทำให้ตีความคล้าย boxplot
  • เมื่อมีหลายหมวด ให้สลับกราฟเป็นแนวนอนหรือใช้โทนสีจำกัดเพื่อให้อ่านง่าย