Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Giải thích violin plot và cách vẽ trong Python Seaborn

Violin plot = Box plot + Kernel Density Estimation (KDE). Hiển thị cả tóm tắt thống kê (median, quartiles) và hình dạng phân bố mật độ.

  • Phần rộng = mật độ cao (nhiều dữ liệu).
  • Phần hẹp = mật độ thấp.
  • Trung tâm: box plot (median, IQR) hoặc chỉ median + quartiles.

Cú pháp

seaborn.violinplot(x, y, hue, data, ...)

Ví dụ cơ bản


import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt

my_df = sb.load_dataset('tips')
sb.violinplot(x="day", y="total_bill", data=my_df)
plt.show()

Giải thích

  • Mỗi violin = phân bố total_bill trong một ngày.
  • Thấy rõ ngày nào có phân bố đối xứng, ngày nào lệch, ngày nào đa峰.
  • Box plot bên trong: đường trắng = median, hộp = IQR, râu = 1.5*IQR.

So sánh với Box plot

Đặc điểmBox plotViolin plot
Hình dạng phân bốKhông thấyRõ ràng (KDE)
Đa峰 (multimodal)Không phát hiệnPhát hiện tốt
Kích thước mẫuKhông phản ánhĐộ rộng violin ~ sample size