Evita solapes de puntos con Swarmplot

Visualize

Evita solapes de puntos con Swarmplot

Creado: Última actualización: Tiempo de lectura: 1 min

Swarmplot desplaza ligeramente cada observación para que no se superponga, lo que permite conservar los valores individuales y al mismo tiempo apreciar la forma de la distribución.

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("Día de la semana")
ax.set_ylabel("Total de la cuenta ($)")
ax.set_title("Total por día de la semana (Swarmplot)")
ax.grid(axis="y", alpha=0.2)

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

Los puntos desplazados muestran la forma de la distribución y los valores atípicos individuales.

Pautas de lectura #

  • La altura de cada columna de puntos refleja la densidad local, y los outliers permanecen visibles como puntos aislados.
  • Con volúmenes enormes, el cálculo se vuelve pesado; plantéate muestrear o ajustar size.
  • dodge=True separa cada categoría del parámetro hue en columnas independientes para facilitar la comparación.