การวางการกระจายของแต่ละกลุ่มซ้อนกันแบบริจไลน์ช่วยมองเห็นฤดูกาลหรือความต่างระหว่างคลาสได้รวดเร็ว ตัวอย่างนี้ใช้ violinplot มาจัดวางให้คล้ายริจไลน์
import seaborn as sns
import matplotlib.pyplot as plt
mpg = sns.load_dataset("mpg").dropna(subset=["mpg", "origin"])
sns.set_theme(style="white")
fig, ax = plt.subplots(figsize=(6, 5))
sns.violinplot(
data=mpg,
x="mpg",
y="origin",
scale="width",
inner=None,
palette="Set2",
ax=ax,
)
ax.set_xlabel("อัตราสิ้นเปลือง (MPG)")
ax.set_ylabel("ภูมิภาคที่ผลิต")
ax.set_title("ริจไลน์ (แบบไวโอลิน) ของอัตราสิ้นเปลืองแต่ละภูมิภาค")
ax.grid(axis="x", alpha=0.2)
fig.tight_layout()
plt.show()

วิธีอ่าน #
- เห็นรูปร่างการกระจายและตำแหน่งค่ากลางของแต่ละภูมิภาคพร้อมกัน
- พื้นที่ที่ทับซ้อนมาก บอกว่ากลุ่มมีลักษณะใกล้กัน ปรับความโปร่งใสตามความต้องการ
- หากต้องการริจไลน์แท้ๆ สามารถใช้ไลบรารีอย่าง
joypy; ที่นี่ใช้ไวโอลินเพื่อจำลองแนวคิด