Swarm plot untuk mencegah titik saling menumpuk

Visualize

Swarm plot untuk mencegah titik saling menumpuk

Dibuat: Pembaruan terakhir: Waktu baca: 1 menit

Swarm plot menggeser setiap observasi agar tidak saling menumpuk, sehingga bentuk distribusi terlihat sambil mempertahankan nilai individu.

import seaborn as sns
import matplotlib.pyplot as plt

tips = sns.load_dataset("tips")

fig, ax = plt.subplots(figsize=(6, 4))
sns.swarmplot(data=tips, x="day", y="total_bill", hue="sex", dodge=True, ax=ax)

ax.set_xlabel("Hari kunjungan")
ax.set_ylabel("Total tagihan ($)")
ax.set_title("Swarm plot total tagihan per hari")
ax.grid(axis="y", alpha=0.2)

fig.tight_layout()
fig.savefig("static/images/visualize/distribution/swarmplot.svg")

Titik yang disusun berjenjang menunjukkan bentuk distribusi dan outlier satu per satu.

Tips membaca #

  • Tinggi tumpukan titik mewakili kerapatan lokal, dan outlier tetap terlihat sebagai titik sendiri.
  • Untuk data yang sangat besar, swarm plot bisa berat dihitung; lakukan sampling atau ubah parameter size.
  • dodge=True memisahkan setiap kategori hue ke kolom masing-masing sehingga perbandingan lebih mudah.