Seaborn: Visualización Estadística
Seaborn es una biblioteca construida sobre Matplotlib que automatiza la creación de gráficos estadísticos complejos. Lo que en Matplotlib requiere 15 líneas de código, en Seaborn se hace en 1. Está diseñada para trabajar directamente con DataFrames de pandas, lo que la convierte en la herramienta de visualización favorita de los Data Analysts.
Concepto teórico
¿Por qué Seaborn si ya tenemos Matplotlib?
| Aspecto | Matplotlib | Seaborn |
|---|---|---|
| Nivel | Bajo nivel (control total) | Alto nivel (resultados rápidos) |
| Input | Arrays/listas | DataFrames directamente |
| Estética | Hay que configurar todo | Temas profesionales incorporados |
| Gráficos estadísticos | Manual | Automáticos (boxplot, violin, etc) |
| ¿Cuándo usarlo? | Personalización extrema | Exploración y reportes rápidos |
plt.title(), plt.xlabel(), etc. funcionan sobre los
gráficos de Seaborn.Los gráficos clave de Seaborn
| Gráfico | Función | Qué muestra | Úsalo para |
|---|---|---|---|
| Box Plot | sns.boxplot() |
Mediana, cuartiles, outliers | Comparar distribuciones por categoría |
| Violin Plot | sns.violinplot() |
Distribución completa + densidad | Distribuciones con forma visible |
| Count Plot | sns.countplot() |
Conteo de categorías | Distribución categórica |
| Heatmap | sns.heatmap() |
Matriz con colores | Correlaciones, pivot tables |
| Scatter + tendencia | sns.regplot() |
Puntos + regresión lineal | Relación entre variables |
| Histograma + KDE | sns.histplot() |
Distribución + curva suavizada | Forma de la distribución |
| Bar con error | sns.barplot() |
Media + intervalo de confianza | Comparar medias con incertidumbre |
Ejemplos explicados paso a paso
Ejemplo 1: Box Plot — Distribución por segmento
El box plot muestra mediana, cuartiles e identifica outliers automáticamente. Es la forma más eficiente de comparar distribuciones entre categorías.
Hacé clic en ▶ Ejecutar
Ejemplo 2: Histograma con KDE — Forma de la distribución
Seaborn combina histograma con una curva de densidad suavizada (KDE) que muestra la "forma" de la distribución sin el ruido de los bins.
Hacé clic en ▶ Ejecutar
Ejemplo 3: Heatmap — Matriz de correlaciones
El heatmap visualiza una matriz numérica con colores. El uso más habitual es mostrar las correlaciones entre todas las variables numéricas de tu dataset.
Hacé clic en ▶ Ejecutar
Ejemplo 4: Count Plot y Bar Plot — Distribución categórica
Dos formas de visualizar datos categóricos: countplot cuenta automáticamente, barplot calcula la media con intervalo de confianza.
Hacé clic en ▶ Ejecutar
Ejemplo 5: Scatter con regresión — regplot
Seaborn automatiza la línea de tendencia (regresión lineal) sobre un scatter plot, incluyendo el intervalo de confianza.
Hacé clic en ▶ Ejecutar
Referencia rápida
| Función Seaborn | Tipo de gráfico | Parámetros clave |
|---|---|---|
sns.boxplot() |
Box plot | data, x, y, palette, order |
sns.violinplot() |
Violin plot | data, x, y, inner="box" |
sns.histplot() |
Histograma + KDE | data, x, bins, kde |
sns.countplot() |
Conteo categórico | data, x, hue, order |
sns.barplot() |
Media + error | data, x, y, errorbar |
sns.heatmap() |
Mapa de calor | data, annot, cmap, center |
sns.regplot() |
Scatter + regresión | data, x, y |
sns.set_theme() |
Estilo global | style, palette, font_scale |
Ejercicios
Ejercicio 1: Box plot simple
Creá un box plot de Saldo por Segmento. Imprimí Boxplot OK.
Hacé clic en ▶ Ejecutar
Ejercicio 2: Histograma con KDE
Creá un histograma de Ingreso con kde=True. Imprimí
Histograma Seaborn OK.
Hacé clic en ▶ Ejecutar
Ejercicio 3: Count plot
Creá un count plot para ver cuántos clientes hay por Canal. Imprimí Conteo OK.
Hacé clic en ▶ Ejecutar
Ejercicio 4: Heatmap de correlación
Calculá la matriz de correlación del DataFrame y visualizala con sns.heatmap(). Imprimí
Heatmap OK.
Hacé clic en ▶ Ejecutar
Ejercicio 5: regplot — Scatter con regresión
Graficá la relación entre Edad e Ingreso con sns.regplot(). Imprimí la
correlación, debe incluir 0.99.
Hacé clic en ▶ Ejecutar
Ejercicio 6: barplot con error bars
Creá un barplot del monto promedio por segmento con errorbar="sd". Imprimí
Barplot Seaborn OK.
Hacé clic en ▶ Ejecutar
Ejercicio 7: Boxplot + título + ylabel
Creá un boxplot de Ingreso por Ciudad con título, ylabel y palette="Set2". Imprimí
Box profesional.
Hacé clic en ▶ Ejecutar
Ejercicio 8: Histograma comparativo con hue
Creá un histograma de Saldo separado por Segmento usando hue. Imprimí
Histograma comparativo OK.
Hacé clic en ▶ Ejecutar
Ejercicio 9: Heatmap de pivot table
Creá una pivot_table (Sucursal × Canal, suma de Monto) y visualizala como heatmap. Imprimí
Pivot heatmap OK.
Hacé clic en ▶ Ejecutar
Ejercicio 10: Dashboard con 4 gráficos Seaborn
Creá 4 subplots: (1) boxplot, (2) histplot con kde, (3) countplot, (4) barplot. Usá
fig, axes = plt.subplots(2, 2). Imprimí Dashboard completo.
Hacé clic en ▶ Ejecutar
Resumen y conexión
- Seaborn trabaja directamente con DataFrames — pasás
data=df, x="col", y="col". - Box plot muestra mediana + cuartiles + outliers en un solo gráfico.
- histplot con kde=True muestra distribución + curva de densidad suavizada.
- heatmap visualiza matrices numéricas (correlaciones, pivot tables).
- countplot cuenta frecuencias; barplot calcula la media con intervalos de confianza.
- regplot agrega regresión lineal automática sobre un scatter.
- El parámetro
huecolorea por categoría en casi todos los gráficos. - Podés usar
plt.title()yplt.xlabel()porque Seaborn se construye sobre Matplotlib.
En la siguiente lección (12 · EDA Completo) vas a combinar todo lo aprendido hasta ahora — pandas, estadística, matplotlib y seaborn — en un proceso estructurado de Análisis Exploratorio de Datos de principio a fin.
Recursos: Seaborn Tutorial · Galería de ejemplos