Seaborn adiciona uma camada de abstrações sobre Matplotlib que torna gráficos estatísticos muito mais fáceis — histogramas com estimativa de densidade, boxplots por categoria, heatmaps de correlação. Com menos código, você obtém visualizações mais informativas.
Instalação e configuração
pip install seaborn matplotlib
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
# Estilo global:
sns.set_theme(style="whitegrid", palette="husl")
plt.rcParams["figure.dpi"] = 120
Histograma com curva de densidade
df = sns.load_dataset("tips") # dataset de gorjetas para exemplos
fig, ax = plt.subplots(figsize=(8, 5))
sns.histplot(df["total_bill"], kde=True, ax=ax, color="#7c4dce")
ax.set_title("Distribuição do Valor da Conta")
ax.set_xlabel("Valor (US$)")
plt.tight_layout()
plt.show()
kde=True adiciona a curva de estimativa de densidade — útil para identificar a forma da distribuição (normal, assimétrica, bimodal).
Boxplot: distribuição por categoria
fig, ax = plt.subplots(figsize=(8, 5))
sns.boxplot(data=df, x="day", y="total_bill", ax=ax,
order=["Thur", "Fri", "Sat", "Sun"])
ax.set_title("Valor da Conta por Dia da Semana")
plt.tight_layout()
plt.show()
O boxplot mostra mediana, quartis e outliers — muito mais informação que a média sozinha.
Heatmap de correlação
correlacao = df[["total_bill", "tip", "size"]].corr()
fig, ax = plt.subplots(figsize=(6, 5))
sns.heatmap(correlacao, annot=True, fmt=".2f",
cmap="RdYlGn", center=0, ax=ax)
ax.set_title("Correlação entre Variáveis")
plt.tight_layout()
plt.show()
annot=True exibe os valores numéricos; cmap="RdYlGn" usa vermelho para correlações negativas e verde para positivas.
Scatterplot com cor por categoria
fig, ax = plt.subplots(figsize=(8, 5))
sns.scatterplot(data=df, x="total_bill", y="tip",
hue="time", style="sex", ax=ax)
ax.set_title("Gorjeta vs. Valor da Conta")
plt.tight_layout()
plt.show()
Pairplot: visão geral das relações
g = sns.pairplot(df[["total_bill", "tip", "size"]], diag_kind="kde")
g.fig.suptitle("Relações entre Variáveis", y=1.02)
plt.show()
Pairplot cria uma grade de scatterplots para todos os pares de variáveis numéricas — ótimo para a fase inicial de análise exploratória.
Perguntas frequentes
Como salvar um gráfico Seaborn em alta qualidade?
Use plt.savefig("grafico.png", dpi=300, bbox_inches="tight") após a chamada Seaborn, antes do plt.show(). Como Seaborn usa Matplotlib por baixo, o savefig funciona normalmente.
Seaborn tem temas prontos?
Sim: sns.set_theme(style=...) com opções "darkgrid", "whitegrid", "dark", "white", "ticks". Para paletas: palette="Set2", "muted", "husl", entre dezenas de opções.