curso
Mapas de calor de Seaborn: Um guia para visualização de dados
Os mapas de calor são uma técnica popular de visualização de dados que usa cores para representar diferentes níveis de magnitude de dados, permitindo que você identifique rapidamente padrões e anomalias em seu conjunto de dados.
A biblioteca Seaborn permite que você crie facilmente visualizações altamente personalizadas dos seus dados, como gráficos de linhas, histogramas e mapas de calor. Você também pode conferir nosso tutorial sobre os diferentes tipos de gráficos de dados e como criá-los em Python.
Mantenha nossa folha de dicas do Seaborn sempre à mão para que você tenha uma referência rápida ao plotar e personalizar visualizações de dados usando a biblioteca do Seaborn.
Neste tutorial, exploraremos o que são os mapas de calor do Seaborn, quando usá-los e como criá-los e personalizá-los para atender melhor às suas necessidades.
Entendendo os mapas de calor
O que são mapas de calor?
Os mapas de calor organizam os dados em uma grade, com diferentes cores ou tons indicando diferentes níveis de magnitude dos dados.
A natureza visual dos mapas de calor permite o reconhecimento imediato de padrões, como agrupamentos, tendências e anomalias. Isso torna os mapas de calor uma ferramenta eficaz para a análise exploratória de dados.
Aqui está um exemplo de um mapa de calor do Seaborn:
Quando você deve usar mapas de calor?
A escolha de usar um mapa de calor depende dos requisitos que você tem e da natureza do conjunto de dados. Em geral, os mapas de calor são mais adequados para conjuntos de dados em que você pode representar valores como cores, normalmente dados numéricos contínuos ou discretos. No entanto, você também pode usá-los para dados categóricos que tenham sido quantificados ou resumidos (por exemplo, contagens, médias).
Se o conjunto de dados contiver outliers extremos ou for muito esparso, um mapa de calor poderá não ser tão eficaz sem pré-processamento ou normalização. Texto, imagens e outras formas de dados não estruturados também não são diretamente adequados para mapas de calor, a menos que você primeiro transforme os dados em um formato estruturado e numérico.
Os mapas de calor são excelentes para visualizar a matriz de correlação entre várias variáveis, facilitando a identificação de variáveis altamente correlacionadas ou inversamente correlacionadas em um relance.
Os mapas de calor também são úteis para comparar visualmente os dados em duas dimensões, como períodos de tempo ou categorias diferentes. Para a análise de dados geográficos, os mapas de calor podem representar a densidade ou a intensidade dos eventos em um layout espacial, como a densidade populacional ou os pontos críticos de criminalidade em uma cidade.
Primeiros passos com o Seaborn Heatmaps
Configurando seu ambiente
Para este tutorial, usaremos um conjunto de dados que contém informações sobre empréstimos disponíveis no DataLab, o notebook de dados habilitado para IA da DataCamp. O código para este tutorial também está disponível em uma pasta de trabalho do DataLab correspondente.
No DataLab, todas as principais bibliotecas já estão convenientemente instaladas e prontas para serem importadas. Para saber mais, temos um artigo sobre as principais bibliotecas Python para ciência de dados.
Usaremos essas bibliotecas para este tutorial:
# Import libraries
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
Se você não estiver familiarizado com Python e precisar se atualizar rapidamente para este tutorial, confira nosso curso de Introdução ao Python.
Como alternativa, se quiser saber mais sobre as bibliotecas que usaremos neste tutorial, você pode conferir estes cursos:
- Manipulação de dados com o Pandas
- Introdução ao NumPy
- Introdução à visualização de dados com o Matplotlib
Preparando seus dados
Certifique-se de que seus dados estejam em um formato de matriz, com linhas e colunas representando diferentes dimensões (por exemplo, períodos de tempo, variáveis, categorias). Cada célula da matriz deve conter o valor que você deseja visualizar.
Limpeza de dados
Antes de usar um mapa de calor, você deve executar duas tarefas principais de limpeza de dados: lidar com valores ausentes e remover valores discrepantes.
Ao lidar com valores ausentes, você pode preenchê-los usando uma medida estatística (média, mediana), interpolá-los ou eliminá-los se não forem significativos. Quanto aos outliers, dependendo da sua análise, você pode removê-los ou decidir ajustar seus valores.
Em nosso conjunto de dados de empréstimos, não havia valores ausentes, mas identificamos vários valores discrepantes que decidimos remover. Consulte o notebook no DataLab para ver o código completo de como fizemos isso.
Normalização ou dimensionamento de dados
Se o seu conjunto de dados abranger uma ampla faixa de valores, considere dimensioná-lo ou normalizá-lo. Isso pode permitir que as cores do mapa de calor representem diferenças relativas com mais precisão. Os métodos comuns incluem o escalonamento mínimo-máximo e a normalização da pontuação Z.
Para dados contínuos que precisam de categorização, considere a discretização em compartimentos ou categorias para uma visualização mais significativa do mapa de calor.
Sintaxe e parâmetros
Para usar o seaborn.heatmap()
, você normalmente precisa passar uma matriz de dados. Em seguida, você pode ajustar os parâmetros para personalizar os mapas de calor de acordo com suas necessidades.
-
data
: O conjunto de dados a ser visualizado, que deve estar em um formato de matriz. -
cmap
: Especifica o mapa de cores para o mapa de calor. O Seaborn oferece suporte a várias paletas de cores, incluindo esquemas sequenciais, divergentes e qualitativos. -
annot
: Se você definirTrue
, o valor em cada célula será anotado no mapa de calor. -
fmt
: Quando annot éTrue
,fmt
determina o código de formatação da cadeia de caracteres para anotar os dados. Por exemplo, 'd
' para números inteiros e '.2f
' para números de ponto flutuante com duas casas decimais. -
linewidths
: Define a largura das linhas que dividirão cada célula. Um valor maior aumenta a separação entre as células. -
linecolor
: Especifica a cor das linhas que dividem cada célula selinewidths
for maior que 0. -
cbar
: Um valor booleano que indica se você deve desenhar uma barra de cores. A barra de cores fornece uma referência para o mapeamento de valores de dados para cores. -
vmin
evmax
: Esses parâmetros definem o intervalo de dados que o mapa de cores abrange. -
center
: Define o valor no qual você deve centralizar o mapa de cores ao usar esquemas de cores divergentes. -
square
: Se definido comoTrue
, garante que as células do mapa de calor tenham formato quadrado. -
xticklabels
eyticklabels
: Controle os rótulos exibidos nos eixos x e y.
Criando seu primeiro mapa de calor do Seaborn
Criaremos um mapa de calor mostrando o coeficiente de correlação entre cada variável numérica em nossos dados. Manteremos o heatmap simples por enquanto e o personalizaremos mais na próxima seção.
# Calculate the correlation matrix
correlation_matrix = filtered_df.corr()
# Create the heatmap
plt.figure(figsize = (10,8))
sns.heatmap(correlation_matrix, cmap = 'coolwarm')
plt.show()
Personalizando o Heatmap da Seaborn
Personalização de cores
Ao personalizar a cor do mapa de calor, você facilita a leitura e gera visuais mais atraentes em relatórios e apresentações.
O Seaborn e o Matplotlib oferecem uma ampla variedade de mapas de cores integrados. Faça experiências com mapas de cores ('Blues
', 'coolwarm
', 'viridis
' etc.) para encontrar um que destaque efetivamente a estrutura e os padrões de seus dados. Use mapas de cores sequenciais para dados com uma ordem natural de baixo para cima, mapas de cores divergentes para dados com um ponto médio crítico e mapas de cores qualitativos para dados categóricos.
No entanto, você não está limitado aos mapas de cores padrão e às opções fornecidas com o Seaborn. Você pode criar mapas de cores personalizados usando o Matplotlib e especificar opções de personalização adicionais, como o ajuste da transparência.
A configuração de vmin
e vmax
permite que você controle o intervalo dos dados que o mapa de cores abrange. Isso pode aumentar o contraste e o foco em faixas específicas de interesse.
Para mapas de cores divergentes, use o parâmetro center
para especificar o valor do ponto médio. Isso garante que o contraste de cores seja ancorado em um valor crítico.
Ajustaremos a paleta de cores do nosso mapa de calor e também ancoraremos as cores especificando os valores mínimo, máximo e central.
# Customize heatmap colors
plt.figure(figsize = (10,8))
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0)
plt.show()
Anotação de dados
A anotação de dados envolve a adição de rótulos em cada célula, que podem exibir valores numéricos ou algum texto. As anotações facilitam a leitura e a interpretação rápida dos mapas de calor sem que você tenha que descobrir os valores com base na legenda.
Para ativar as anotações, defina o parâmetro annot
como True
. Isso exibirá os valores de dados em cada célula do mapa de calor.
O parâmetro fmt
permite que você formate o texto das anotações. Por exemplo, use 'd
' para a formatação de números inteiros e '.2f
' para números de ponto flutuante exibidos com duas casas decimais.
Embora a função de mapa de calor do Seaborn não permita diretamente a personalização das propriedades do texto, como o tamanho da fonte, por meio do parâmetro annot
, você pode ajustar essas propriedades globalmente usando o rcParams
do Matplotlib.
# Create an annotated heatmap
plt.figure(figsize = (10,8))
plt.rcParams.update({'font.size': 12})
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0, annot=True, fmt=".2f", square=True, linewidths=.5)
plt.show()
O parâmetro annot
também pode aceitar uma estrutura semelhante a uma matriz com o mesmo formato dos seus dados. Esse é um truque interessante que permite que você adicione anotações contendo informações diferentes das exibidas pelas cores das células. Aqui está um exemplo de como você poderia aplicar isso:
# Example of alternative annotations
annot_array = np.round(data*100, decimals=2)
sns.heatmap(data, annot=annot_array, fmt='s')
Mascaramento de dados
O mascaramento de dados é uma técnica usada para destacar ou ocultar seletivamente determinados pontos de dados com base em condições específicas. Isso pode ajudar a concentrar a atenção em áreas de interesse ou padrões específicos no conjunto de dados.
Primeiro, você precisa criar uma máscara booleana com o mesmo formato da matriz de dados. A máscara deve ser True
(ou False
) para os pontos de dados que você deseja ocultar (ou exibir). Como a matriz de correlação é simétrica, podemos usar a função numpy
's triu
para criar uma máscara triangular que cubra apenas a parte superior do nosso mapa de calor.
# Create a mask using numpy's triu function
mask = np.triu(np.ones_like(correlation_matrix, dtype=bool))
Use o parâmetro mask
da função seaborn.heatmap()
para aplicar sua máscara. Os pontos de dados correspondentes a True
na máscara serão ocultados.
# Create a masked heatmap
plt.figure(figsize = (10,8))
plt.rcParams.update({'font.size': 12})
sns.heatmap(correlation_matrix, cmap = 'viridis', vmin = -1, vmax = 1, center = 0, annot=True, fmt=".2f", square=True, linewidths=.5, mask = mask)
plt.show()
Práticas recomendadas e erros comuns
A adesão a essas práticas recomendadas permitirá que você use os mapas de calor do Seaborn para criar visualizações atraentes para seus relatórios e apresentações.
Aqui estão cinco práticas recomendadas que você deve considerar ao usar os mapas de calor da Seaborn:
1. Escolha a paleta de cores correta
A paleta de cores que você escolhe afeta diretamente a forma como seus dados são percebidos. Esquemas de cores diferentes podem destacar ou ocultar padrões em seus dados.
Use paletas de cores sequenciais para dados que progridem de baixo para cima e paletas de cores divergentes para dados com um ponto médio significativo. O Seaborn oferece várias opções com o parâmetro cmap
, permitindo que você adapte o esquema de cores ao seu conjunto de dados. Leia nosso tutorial, Seaborn Color Palette: Guia rápido para a escolha de cores para que você saiba tudo sobre as diferentes opções de paleta de cores e como elas suportam diferentes tipos de gráficos.
2. Lidar com dados ausentes de forma cuidadosa
Os dados ausentes podem introduzir lacunas no seu mapa de calor, podendo induzir o visualizador ao erro. Antes de fazer o gráfico, decida sobre uma estratégia para lidar com dados ausentes. Dependendo da importância deles, você pode optar por imputar valores ausentes ou removê-los completamente. Como alternativa, a representação de dados ausentes com uma cor ou padrão distinto pode destacar sua presença sem induzir o visualizador ao erro.
3. Dimensione adequadamente seus dados
Dados com grandes variações ou outliers podem distorcer a visualização, dificultando determinar se os dados contêm algum padrão. Normalize ou dimensione seus dados para garantir que o mapa de calor reflita com precisão as diferenças no conjunto de dados. Dependendo da natureza dos seus dados, técnicas como escalonamento mínimo-máximo, normalização da pontuação Z ou até mesmo transformações de log podem ser benéficas.
4. Use anotações com moderação
Embora as anotações possam acrescentar detalhes valiosos ao exibir valores exatos, o excesso de anotações no mapa de calor pode dificultar a leitura, especialmente em conjuntos de dados grandes.
Limite as anotações aos pontos de dados principais ou use-as em mapas de calor menores.
5. Ajustar as dimensões do mapa de calor
A proporção e o tamanho padrão podem não se adequar ao seu conjunto de dados, levando a células esmagadas ou a uma exibição apertada que obscurece os padrões.
Personalize o tamanho e a proporção do mapa de calor para garantir que cada célula seja claramente visível e que o padrão geral seja fácil de discernir.
Conclusão
A função de mapa de calor do Seaborn permite visualizações atraentes de padrões de dados e é especialmente útil para visualizar correlações entre variáveis numéricas.
No entanto, é importante que você siga as práticas recomendadas. Isso inclui a escolha da paleta de cores correta, o tratamento cuidadoso dos dados ausentes, o dimensionamento adequado dos dados, o uso moderado de anotações e o ajuste das dimensões do mapa de calor.
Você está interessado em mergulhar fundo na biblioteca da Seaborn? Nosso curso Introdução à visualização de dados com Seaborn é ótimo para iniciantes ou, se você for um usuário mais avançado, pode aprofundar seu conhecimento com nosso curso Visualização de dados intermediária com Seaborn.

Perguntas frequentes sobre o Seaborn Heatmap
Por que os mapas de calor são tão eficazes para a visualização de dados?
Os mapas de calor usam cores para tornar padrões de dados complexos imediatamente reconhecíveis. Eles são particularmente eficazes na identificação de correlações, tendências e agrupamentos em conjuntos de dados, o que os torna uma opção popular para análise exploratória de dados e apresentações.
O que devo preparar antes de criar um mapa de calor no Seaborn?
Verifique se o conjunto de dados está no formato de matriz, com linhas e colunas representando as dimensões que você deseja analisar. Realize o pré-processamento necessário, como a limpeza de valores ausentes, o tratamento de outliers e o dimensionamento ou normalização de dados, para melhorar a precisão e a clareza do seu mapa de calor.
Comece sua jornada na Seaborn hoje mesmo!
curso
Visualização intermediária de dados com a Seaborn
curso