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 Simplesheatmap()
do Seaborn: Funcionalidade Aprimoradapcolormesh()
: Para Dados Irregulares e Controle Preciso
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
.