Seaborn: Visualizacion estadistica
Seaborn esta construido sobre Matplotlib y facilita crear graficos estadisticos atractivos.
Configuracion
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
# Configurar estilo
sns.set_theme(style="whitegrid")
# Dataset de ejemplo
tips = sns.load_dataset('tips')
Distribucion
# Histograma + KDE
sns.histplot(data=tips, x='total_bill', kde=True)
# Solo KDE
sns.kdeplot(data=tips, x='total_bill')
# Por categoria
sns.histplot(data=tips, x='total_bill', hue='sex')
Relaciones
# Scatter con regresion
sns.regplot(data=tips, x='total_bill', y='tip')
# Scatter con categorias
sns.scatterplot(data=tips, x='total_bill', y='tip',
hue='day', size='size')
# Relacion de todo el dataset
sns.pairplot(tips, hue='sex')
Categoricos
# Box plot
sns.boxplot(data=tips, x='day', y='total_bill')
# Violin plot
sns.violinplot(data=tips, x='day', y='total_bill')
# Bar plot (con error)
sns.barplot(data=tips, x='day', y='total_bill')
# Count plot
sns.countplot(data=tips, x='day')
# Strip plot (puntos individuales)
sns.stripplot(data=tips, x='day', y='total_bill', jitter=True)
Heatmap
# Matriz de correlacion
corr = tips.select_dtypes(include='number').corr()
plt.figure(figsize=(8, 6))
sns.heatmap(corr, annot=True, cmap='coolwarm', center=0)
plt.title('Matriz de Correlacion')
plt.show()
FacetGrid: Graficos por categoria
# Crear grid
g = sns.FacetGrid(tips, col='time', row='sex', height=4)
# Aplicar grafico
g.map(sns.histplot, 'total_bill')
# Con scatterplot
g = sns.FacetGrid(tips, col='day', col_wrap=2)
g.map(sns.scatterplot, 'total_bill', 'tip')