Seaborn: visualizaciones estadísticas en Python

Gráficos más claros, más rápidos, más bonitos

¿Por qué Seaborn?

Matplotlib funciona…

pero requiere más código.

💡 Idea clave

Seaborn hace gráficos más claros con menos esfuerzo.

Librerías

import seaborn as sns
import matplotlib.pyplot as plt

Datos de ejemplo

id="s1"
import pandas as pd

df = pd.DataFrame({
    "edad": [18, 20, 22, 19, 21, 23, 20],
    "nota": [3.5, 4.0, 4.5, 3.8, 4.2, 4.7, 3.9],
    "grupo": ["A", "A", "B", "B", "A", "B", "A"]
})

Histograma (más bonito)

id="s2"
sns.histplot(df["nota"])
plt.show()

¿Qué vemos?

Distribución de notas.

Agregar color y estilo

id="s3"
sns.histplot(df["nota"], kde=True)
plt.show()

KDE

Línea suave que muestra la forma de la distribución.

Boxplot (clave)

id="s4"
sns.boxplot(x=df["nota"])
plt.show()

¿Por qué es importante?

  • muestra mediana
  • muestra cuartiles
  • detecta outliers

Boxplot por grupo

id="s5"
sns.boxplot(x="grupo", y="nota", data=df)
plt.show()

Esto ya es análisis

Comparar distribuciones entre grupos.

Gráfico de dispersión

id="s6"
sns.scatterplot(x="edad", y="nota", data=df)
plt.show()

¿Qué buscamos?

Relación entre variables.

Agregar color por grupo

id="s7"
sns.scatterplot(x="edad", y="nota", hue="grupo", data=df)
plt.show()

🔥 Esto es poderoso

  • varias variables
  • en un solo gráfico

Gráfico de barras

id="s8"
sns.barplot(x="grupo", y="nota", data=df)
plt.show()

¿Qué hace?

Muestra el promedio por grupo automáticamente.

Error común

Olvidar:

id="s9"
plt.show()

Mini reto

Usa df para:

  • hacer un boxplot por grupo
  • hacer un histograma de edades

Solución

id="s10"
sns.boxplot(x="grupo", y="edad", data=df)
plt.show()

sns.histplot(df["edad"], kde=True)
plt.show()

Conexión con lo anterior

Ya sabes:

  • NumPy → datos
  • pandas → tablas
  • Matplotlib → gráficos básicos
  • Seaborn → gráficos estadísticos

Idea final

Seaborn permite:

  • ver patrones
  • comparar grupos
  • detectar outliers
  • comunicar mejor