Skip to content

Colormaps no Matplotlib: Um Guia Completo

Updated on

A visualização de dados é uma habilidade crucial no conjunto de ferramentas de qualquer cientista de dados. Ela ajuda a entender dados complexos, encontrar padrões e desenvolver intuições que orientam algoritmos de Aprendizado de Máquina. Entre as bibliotecas populares de visualização de dados em Python, uma se destaca: o Matplotlib. Seu poder e versatilidade permitem criar uma ampla variedade de gráficos estáticos, animados e interativos. Neste tutorial, vamos mergulhar fundo em um aspecto crítico da visualização de dados - as colormaps no Matplotlib.

Quer criar rapidamente visualizações de dados a partir de um DataFrame do Python Pandas sem escrever código?

PyGWalker é uma biblioteca Python para Análise Exploratória de Dados com Visualização. O PyGWalker (opens in a new tab) pode simplificar sua análise de dados e fluxo de trabalho de visualização de dados no Jupyter Notebook, transformando seu DataFrame pandas (e DataFrame do Polars) em uma interface do usuário no estilo do Tableau para exploração visual.

PyGWalker para visualização de dados (opens in a new tab)

O que são as Colormaps?

As colormaps são uma parte vital da Análise Visual de Dados. Elas mapeiam valores de dados para cores, ajudando nosso cérebro a reconhecer padrões nos dados. O Matplotlib oferece uma variedade de colormaps embutidas, que vão desde colormaps sequenciais, colormaps divergentes, colormaps qualitativas até colormaps cíclicas. Mas às vezes, essas colormaps podem não ser suficientes. É aí que entram as colormaps personalizadas.

Criando Colormaps Personalizadas

Entendendo os Tipos de Colormaps

Antes de aprendermos como criar novas colormaps, é essencial entender os diferentes tipos de colormaps disponíveis. Isso nos ajudará a modificar as colormaps de forma eficaz.

  1. Colormaps Sequenciais: Essas colormaps variam suavemente em brilho e, frequentemente, em matiz. Elas são ideais para representar dados contínuos e ordenados. Exemplos populares incluem a 'Colormap Hot' e a 'Colormap Rdbu'. Veja como modificá-las aqui.

  2. Colormaps Divergentes: Essas colormaps variam em brilho e possivelmente em matiz, em duas direções diferentes. São úteis quando os dados têm um valor médio significativo (zero, por exemplo).

  3. Colormaps Qualitativas: Essas colormaps são frequentemente usadas para dados categóricos, pois variam rapidamente em matiz.

  4. Colormaps Cíclicas: Essas colormaps são usadas para dados que envolvem os pontos de extremidade, como ângulo de fase, direção do vento ou hora do dia.

Gerando um Conjunto de Dados Aleatório

Vamos começar gerando um conjunto de dados aleatório usando a biblioteca pandas. Este conjunto de dados nos ajudará a visualizar o impacto de nossas colormaps personalizadas. Aprenda como gerar um conjunto de dados aleatório aqui.

Criando Colormaps Personalizadas no Matplotlib

Criar colormaps personalizadas no Matplotlib é simples. Você pode definir uma colormap a partir de uma lista de cores (especificadas em qualquer formato de cores do Matplotlib), e as cores serão distribuídas uniformemente na colormap. Veja como criar uma colormap que transita do vermelho para o azul:

import matplotlib.pyplot as plt
import numpy as np
 
cmap = plt.cm.colors.ListedColormap(['red', 'blue'])

Modificando Colormaps Existente

Você também pode modificar colormaps existentes usando a classe Colormap no Matplotlib. É possível criar uma nova colormap a partir de uma existente usando a função get_cmap e, em seguida, modificar a cor RGBA diretamente. Saiba mais sobre isso aqui.

Visualizando Dados com Colormaps Personalizadas

Agora que temos uma colormap personalizada, vamos visualizar nossos dados. Usaremos subplots para comparar nossa colormap personalizada com uma padrão. Saiba mais sobre a criação de subplots aqui.

fig, axs = plt.subplots(2)
 
# Usando a colormap padrão
img1 = axs[0].imshow(data, cmap='viridis')
fig.colorbar(img1, ax=axs[0], orientation='vertical')
axs[0].set_title('Colormap Padrão')
 
# Usando a colormap personalizada
img2 = axs[1].imshow(data, cmap=cmap)
fig.colorbar(img2, ax=axs[1], orientation='vertical')
axs[1].set_title('Colormap Personalizada')
 
plt.show()

No código acima, imshow é usado para exibir dados como uma imagem, onde a intensidade da cor é baseada nos valores dos dados. A função colorbar adiciona uma barra de cores aos nossos subplots, e a função set_title define o título para nossos subplots.

Além do Matplotlib: Seaborn, Plotly e Mais

Embora o Matplotlib seja uma biblioteca poderosa, ele não é o único disponível para visualização de dados em Python. Bibliotecas como Seaborn e Plotly também oferecem ótimos recursos e se integram bem ao Matplotlib. O Seaborn, por exemplo, é construído sobre o Matplotlib e introduz tipos de gráficos adicionais. Ele também deixa seus gráficos com uma aparência melhor por padrão. O Plotly, por outro lado, é especializado na criação de gráficos interativos. Mais detalhes sobre essas bibliotecas podem ser encontrados aqui.

Conclusão

No campo da visualização de dados, o controle e a personalização das cores ocupam um lugar proeminente. Compreender e usar colormaps de forma eficaz pode aprimorar significativamente sua análise visual de dados. Lembre-se de que a escolha da colormap pode destacar o aspecto importante de seus dados ou induzir a uma interpretação equivocada. Esperamos que este guia tenha lhe proporcionado insights valiosos sobre como criar, modificar e usar de forma eficaz mapas de cores personalizados no Matplotlib. À medida que você continua sua jornada em ciência de dados e aprendizado de máquina, essas habilidades serão ativos inestimáveis. Para mais tutoriais sobre pandas e outros tópicos de Python, visite nosso índice de tutoriais.