Matplotlib e Seaborn: Criando Gráficos em Python – Visualizando Dados Rapidamente
Duas bibliotecas muito usadas para isso são:
Matplotlib → poderosa, flexível e considerada a base de muitas outras bibliotecas gráficas.
Seaborn → construída sobre o Matplotlib, mas com foco em gráficos estatísticos prontos e bonitos.
Neste artigo, você aprenderá:
Como instalar e configurar o Matplotlib e o Seaborn.
Criar gráficos básicos (linha, barra, pizza, dispersão).
Usar o Seaborn para gráficos estatísticos prontos.
Personalizar visualizações (cores, títulos, legendas).
Exemplos práticos para análise de dados.
1. Instalando as bibliotecas
Antes de começar, você precisa instalar as bibliotecas:
pip install matplotlib seaborn
Se já estiver usando o Anaconda, elas geralmente vêm pré-instaladas.
2. Primeiro gráfico com Matplotlib
import matplotlib.pyplot as plt
# Dados de exemplo
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
plt.plot(x, y) # gráfico de linha
plt.title("Gráfico de Linha Simples")
plt.xlabel("Eixo X")
plt.ylabel("Eixo Y")
plt.show()
O código acima gera um gráfico de linha mostrando a relação entre x
e y
.
3. Tipos de gráficos no Matplotlib
Gráfico de barras
cursos = ["Python", "Java", "C++", "JavaScript"]
alunos = [50, 40, 30, 20]
plt.bar(cursos, alunos, color="skyblue")
plt.title("Número de alunos por curso")
plt.xlabel("Cursos")
plt.ylabel("Quantidade de alunos")
plt.show()
Gráfico de pizza
fatias = [40, 30, 20, 10]
categorias = ["Python", "Java", "C++", "JavaScript"]
plt.pie(fatias, labels=categorias, autopct="%1.1f%%", startangle=90)
plt.title("Preferência por Linguagem de Programação")
plt.show()
Gráfico de dispersão
x = [5, 7, 8, 7, 6, 9, 5, 6, 7, 8]
y = [99, 86, 87, 88, 100, 86, 103, 87, 94, 78]
plt.scatter(x, y, color="red")
plt.title("Dispersão de Dados")
plt.xlabel("Idade")
plt.ylabel("Nota")
plt.show()
4. Introdução ao Seaborn
O Seaborn facilita muito a criação de gráficos estatísticos.
import seaborn as sns
import pandas as pd
# Criando DataFrame de exemplo
dados = {
"curso": ["Python", "Python", "Java", "Java", "C++", "C++", "JS", "JS"],
"nota": [8, 9, 6, 7, 5, 6, 7, 8]
}
df = pd.DataFrame(dados)
# Gráfico de caixa (boxplot)
sns.boxplot(x="curso", y="nota", data=df)
plt.title("Distribuição de notas por curso")
plt.show()
O gráfico de boxplot mostra mediana, quartis e valores discrepantes.
5. Mais gráficos com Seaborn
Gráfico de barras
sns.barplot(x="curso", y="nota", data=df, estimator="mean", palette="Blues_d")
plt.title("Média de notas por curso")
plt.show()
Gráfico de dispersão com regressão
# Dados fictícios
idade = [18, 19, 20, 21, 22, 23, 24]
nota = [6, 7, 7, 8, 8, 9, 9]
df2 = pd.DataFrame({"idade": idade, "nota": nota})
sns.regplot(x="idade", y="nota", data=df2, color="green")
plt.title("Idade x Nota com linha de regressão")
plt.show()
Mapa de calor (heatmap)
import numpy as np
# Matriz de correlação
corr = df.corr(numeric_only=True)
sns.heatmap(corr, annot=True, cmap="coolwarm", linewidths=1)
plt.title("Mapa de calor - Correlação")
plt.show()
6. Personalizando gráficos
Você pode mudar tamanho, cores e estilo:
sns.set_style("darkgrid")
plt.figure(figsize=(8, 5))
sns.barplot(x="curso", y="nota", data=df, palette="viridis")
plt.title("Notas por Curso (Estilo Personalizado)", fontsize=14, fontweight="bold")
plt.xlabel("Curso", fontsize=12)
plt.ylabel("Nota Média", fontsize=12)
plt.show()
7. Conclusão
O Matplotlib é ideal para gráficos básicos e customizações detalhadas.
O Seaborn é ótimo para análise estatística rápida e visualmente bonita.
Combinando os dois, você cobre praticamente todas as necessidades de visualização em Python.
Sugestão de prática:
Comentários
Postar um comentário