Data Visualization

Dominando Mapas de Calor 2D com Matplotlib e Seaborn

Spread the love

Mapas de calor são inestimáveis para visualizar dados em uma grade bidimensional, onde a intensidade da cor representa a magnitude de cada valor. O Matplotlib, uma poderosa biblioteca de visualização de dados em Python, oferece várias maneiras de criar mapas de calor convincentes. Este artigo explora três métodos populares: usando imshow(), aproveitando a biblioteca Seaborn e empregando pcolormesh(). Abordaremos cada método com exemplos e explicações claras.

Sumário

imshow(): Uma Abordagem Simples

A função imshow() do Matplotlib fornece uma maneira direta de gerar mapas de calor. Ela aceita uma matriz 2D como entrada, mapeando valores para cores usando um mapa de cores escolhido.


import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra
data = np.random.rand(10, 10)

# Criar o mapa de calor
plt.imshow(data, cmap='viridis')

# Adicionar uma barra de cores
plt.colorbar(label='Valor')

# Adicionar rótulos e título
plt.xlabel('Eixo X')
plt.ylabel('Eixo Y')
plt.title('Mapa de Calor 2D usando imshow()')

# Mostrar o gráfico
plt.show()

Este código cria um mapa de calor onde a intensidade da cor da célula reflete o valor correspondente na matriz data. O argumento cmap seleciona o mapa de cores (por exemplo, ‘plasma’, ‘magma’, ‘inferno’, ‘cividis’). colorbar() adiciona uma legenda mapeando cores para valores.

heatmap() do Seaborn: Funcionalidade Aprimorada

O Seaborn, baseado no Matplotlib, oferece uma interface de nível superior para criar gráficos estatisticamente perspicazes e visualmente atraentes, incluindo mapas de calor. Sua função heatmap() simplifica o processo e adiciona recursos úteis.


import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra
data = np.random.rand(10, 10)

# Criar o mapa de calor
sns.heatmap(data, annot=True, cmap='coolwarm', fmt=".2f")

# Adicionar título
plt.title('Mapa de Calor 2D usando Seaborn')

# Mostrar o gráfico
plt.show()

Este exemplo do Seaborn gera um mapa de calor semelhante, mas com annot=True exibindo valores numéricos dentro de cada célula, melhorando a legibilidade. fmt controla a formatação da anotação.

pcolormesh(): Para Dados Irregulares e Controle Preciso

pcolormesh() do Matplotlib é ideal para mapas de calor com dados irregularmente espaçados ou quando é necessário um controle preciso dos limites das células.


import matplotlib.pyplot as plt
import numpy as np

# Dados de amostra (usando meshgrid para demonstração)
x = np.arange(0, 10, 1)
y = np.arange(0, 10, 1)
X, Y = np.meshgrid(x, y)
data = np.sin(X) * np.cos(Y)

# Criar o mapa de calor
plt.pcolormesh(X, Y, data, cmap='RdBu')

# Adicionar uma barra de cores
plt.colorbar(label='Valor')

# Adicionar rótulos e título
plt.xlabel('Eixo X')
plt.ylabel('Eixo Y')
plt.title('Mapa de Calor 2D usando pcolormesh()')

# Mostrar o gráfico
plt.show()

Este exemplo usa meshgrid para criar grades de coordenadas x e y, definindo limites de células para pcolormesh(). Isso oferece maior flexibilidade do que imshow(). O mapa de cores RdBu é um esquema divergente adequado para dados com valores positivos e negativos. Lembre-se de instalar as bibliotecas necessárias usando pip install matplotlib seaborn.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *