Box plot và violin plot
So sánh độ phân tán của nhiều nhóm bằng ax.boxplot và ax.violinplot.
Giới thiệu
Biểu đồ cột chỉ cho thấy giá trị trung bình mà che mất mức độ phân tán của dữ liệu. Box plot cho thấy trung vị (median), nửa giữa của dữ liệu (cái hộp), khoảng thông thường (hai râu) và các điểm ngoại lai (outlier) dưới dạng chấm. Violin plot cho thấy toàn bộ hình dạng phân bố của mỗi nhóm.
Mỗi danh sách trong scores thành một hộp. Vạch trong hộp là trung vị, hộp bao 50% điểm số ở giữa, còn râu kéo tới giá trị xa nhất không phải ngoại lai. Lớp B có hộp nhỏ hơn hẳn: điểm số của lớp này sát nhau. set_xticks đặt tên cho các hộp nằm ở x = 1, 2 và 3; ax.violinplot(scores) sẽ vẽ các nhóm này dưới dạng violin.
Trình mô phỏng tương tác
Chuyển giữa box plot và violin plot, hiện từng điểm số dưới dạng chấm và thay đổi độ phân tán của lớp C.
Ví dụ Matplotlib chạy được
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng(5)
scores = [rng.normal(70, 8, 80), rng.normal(75, 4, 80), rng.normal(65, 12, 80)]
fig, ax = plt.subplots(figsize=(7, 4))
ax.boxplot(scores)
ax.set_xticks([1, 2, 3], ["Class A", "Class B", "Class C"])
ax.set_ylabel("Score")
ax.set_title("Test scores by class")
plt.show()
