Khi biến độc lập là phân loại (categorical), scatter plot thường không phù hợp do chồng chéo. Seaborn cung cấp:
- stripplot: jitter ngẫu nhiên theo trục phân loại để tránh chồng chéo.
- swarmplot: sắp xếp điểm thông minh (bee swarm) không chồng chéo, không cần jitter.
Ví dụ stripplot
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('iris')
sb.stripplot(x="species", y="sepal_length", data=my_df)
plt.show()
Ví dụ swarmplot (không chồng chéo)
sb.swarmplot(x="species", y="petal_length", data=my_df)
plt.show()
So sánh
| Đặc điểm | stripplot | swarmplot |
|---|---|---|
| Chồng chéo | Có (trừ khi dùng jitter) | Không |
| Tốc độ | Nhanh | Chậm (O(n²)) |
| Dữ liệu lớn | Phù hợp | Không khuyến khích |
Khuyến nghị
Dữ liệu nhỏ → swarmplot đẹp hơn. Dữ liệu lớn → stripplot + jitter=True.