Pular para o conteúdo principal

Paleta de cores Seaborn: Guia rápido para a escolha de cores

Use color_palette() para separação categórica clara, cubehelix_palette() para dados sequenciais graduais e diverging_palette() para divergência clara de um ponto médio.
Actualizado 1 de out. de 2024  · 4 min de leitura

Na visualização de dados, a seleção de cores adequadas pode ser tão importante quanto a escolha do tipo certo de gráfico ou representação de dados. Felizmente, o Python facilita a localização da paleta de cores certa com o Seaborn. Continue lendo para entender como criar visualizações que não sejam apenas informativas, mas também visualmente impressionantes e acessíveis.

Se você é novo no Python, considere começar com o curso Introdução ao Python ou com o curso de habilidades de programação em Python. Esses recursos fornecerão a você as habilidades necessárias para acompanhar os exemplos e utilizar totalmente os recursos do Seaborn.

Nota rápida sobre noções básicas de cores

Há três elementos principais que definem qualquer cor: matiz, saturação e valor. Cada um é importante porque transmite diferentes tipos de informações.

Matiz

Matiz é o que normalmente chamamos de "cor" - é a própria cor pura, como vermelho, azul ou verde.

Ilustração da tonalidade. Imagem do autor.

Esse visual mostra diferentes tonalidades, passando pelo círculo cromático do vermelho ao roxo. Tons diferentes são bons para representar dados categóricos ou destacar elementos específicos. Por exemplo, você pode usar tons distintos para diferenciar categorias não relacionadas em um gráfico de barras ou de dispersão.

Saturação

A saturação refere-se à intensidade ou pureza de uma cor. Uma cor totalmente saturada é vívida, enquanto uma cor menos saturada parece mais suave ou cinza.

Ilustração de saturação. Imagem do autor.

Esse gradiente mostra diferentes níveis de saturação para uma única tonalidade. A cor à direita está totalmente saturada. À medida que você se move para a esquerda, a cor se torna cada vez mais dessaturada, parecendo quase cinza. Cores mais saturadas podem chamar a atenção para os principais pontos de dados ou regiões de interesse.

Valor

O valor, também conhecido como brilho, refere-se à claridade ou escuridão de uma cor. A adição de branco aumenta o valor, enquanto a adição de preto o diminui.

Ilustração do valor (brilho). Imagem do autor.

Esse gradiente mostra diferentes níveis de brilho para a mesma tonalidade. À direita, vemos a cor em seu brilho máximo. À medida que você se move para a esquerda, o valor diminui, e a cor se torna mais escura. O valor é útil para mostrar a progressão ou a hierarquia nos dados. Por exemplo, você pode usar um gradiente de valor em um mapa de calor para mostrar a intensidade dos dados em uma grade bidimensional.

Tipos de paleta de cores Seaborn

Vamos explorar os três principais tipos de paletas de cores no Seaborn: qualitativa, sequencial e divergente.

Paletas qualitativas usando color_palette()

As paletas qualitativas são projetadas para dados categóricos em que não há ordenação ou relação inerente entre as categorias. Essas paletas usam tons distintos para diferenciar as categorias.

Paleta qualitativa. Imagem do autor.

A paleta "Bright" mostrada acima é um exemplo de uma paleta qualitativa integrada no Seaborn. Ele usa tons distintos e vibrantes para separar as categorias. As cores são facilmente distinguíveis umas das outras, o que as torna ideais para dados categóricos em que não há ordem ou relação inerente entre as categorias.

A função color_palette() é a maneira de a Seaborn criar paletas de cores personalizadas. Ele permite que você alterne entre esses diferentes tipos de paletas, mudando o nome da paleta e o número de cores. Ao usar paletas nomeadas (como "pastel" ou "Blues"), o parâmetro number determina quantas cores você vê. Geralmente, você combina o número de cores com suas categorias de dados ou cria um gradiente com um número específico de etapas.

Para um controle ainda mais preciso, você pode usar códigos HEX para definir cores exatas. Isso é especialmente útil quando você precisa combinar cores específicas da marca ou criar um esquema de cores exclusivo não disponível nas paletas integradas. Veja como você pode criar diferentes tipos de paletas usando o site color_palette():

import seaborn as sns
# Create a qualitative palette with 4 colors
qual_palette = sns.color_palette("pastel", 4)

Criando uma paleta qualitativa com quatro cores. Imagem do autor.

# Create a sequential palette with 6 colors
seq_palette = sns.color_palette("Blues", 6)

Criando uma paleta sequencial com seis cores. Imagem do autor.

# Create a diverging palette with 12 colors
div_palette = sns.color_palette("RdBu", 12)

Criando uma paleta divergente com 12 cores. Imagem do autor.

# Create a custom palette using HEX codes 
hex = sns.color_palette(["#FF6B6B", "#4ECDC4", "#45B7D1","#FAD02E", "#594F4F"])

Criando uma paleta personalizada com códigos HEX. Imagem do autor.

Paletas sequenciais usando cubehelix_palette()  

As paletas sequenciais são ideais para dados numéricos que têm uma ordem natural. Essas paletas mostram a progressão de valores baixos para altos, normalmente usando variações de luminosidade e/ou saturação de um único matiz ou de vários matizes.

Ilustração da paleta sequencial do Viridis. Imagem do autor.

A paleta "Viridis" mostra uma progressão do roxo escuro ao amarelo brilhante. Esse tipo de paleta é bom para mostrar uma faixa de valores de baixo a alto. Isso seria particularmente útil para visualizar dados contínuos, como faixas de temperatura, densidades populacionais ou qualquer conjunto de dados em que você queira mostrar uma relação clara de baixo para cima. Outras opções incorporadas incluem: ‘Blues’, ‘Greens’, ‘Reds’, ‘YlOrBr’, e ‘rocket’.

A função cubehelix_palette() permite a criação de paletas sequenciais com controle refinado sobre o brilho e a progressão das cores. Essa função é particularmente útil quando você precisa de uma paleta que aumente suavemente o brilho e varie ligeiramente a tonalidade. Aqui estão os parâmetros para personalização:

  • n_colors: O número de cores na paleta.

  • start: A posição inicial no ciclo de cores (0-3).

  • rot: Determina o quanto a tonalidade muda. 

  • dark: A cor mais escura da paleta.

  • light: A cor mais clara da paleta.

  • reverse: Se você deseja inverter a direção da paleta.

import seaborn as sns
# Create a default cubehelix palette
default_cube = sns.cubehelix_palette(8)

Ilustração da paleta padrão cubehelix. Imagem do autor.

# Create a custom cubehelix palette
custom_cube = sns.cubehelix_palette(8, start=.5, rot=-.75, dark=.3, light=.8)

Ilustração de uma paleta cubehelix personalizada. Imagem do autor.

# Create a reversed cubehelix palette
reversed_cube = sns.cubehelix_palette(8, start=2, rot=0, dark=0, light=.95, reverse=True)

Ilustração de uma paleta de cubo-hélice invertida. Imagem do autor.

Paletas divergentes usando diverging_palette()

As paletas divergentes são projetadas para dados que têm um ponto médio significativo ou valor zero. Essas paletas destacam a divergência de um ponto central, usando dois tons contrastantes que se tornam mais saturados à medida que os valores se afastam do centro. 

Ilustração de uma paleta divergente. Imagem do autor.

O exemplo acima ilustra com eficácia como essas paletas destacam a divergência de um ponto central. A paleta transita entre azuis frios, brancos neutros e vermelhos quentes, com um ponto médio claro. Esse tipo de paleta pode ser usado para visualizar anomalias de temperatura (em que 0 representa a temperatura média) ou cenários de lucros/perdas em dados financeiros. Outras opções incorporadas incluem: 'RdBu', 'RdYlGn', e 'PiYG'. Vamos dar uma olhada nos parâmetros:

  • h_neg e h_pos: Os matizes para as extensões negativa e positiva da paleta.

  • n: O número de cores na paleta.

  • s: A saturação das cores.

  • l: A leveza das cores.

  • center: A cor do ponto central ('light' ou 'dark').

import seaborn as sns
# Create a default diverging palette
default_div = sns.diverging_palette(220, 20, n=7)

Ilustração de uma paleta divergente padrão. Image by Author.

# Create a diverging palette with more saturation
saturated_div = sns.diverging_palette(250, 30, l=65, s=75, n=7)

Paleta divergente com mais saturação. Imagem do autor.

# Create a diverging palette with a darker center
dark_center_div = sns.diverging_palette(150, 275, s=80, l=55, n=9, center="dark")

Paleta divergente com um centro mais escuro. Imagem do autor.

Nota final sobre as paletas de cores da Seaborn

A seleção da paleta de cores correta é um aspecto essencial da criação de visualizações de dados eficazes. As opções de paleta de cores diversificadas e personalizáveis do Seaborn fornecem ferramentas poderosas para aumentar a clareza e o impacto das representações de dados.

À medida que você aplica esses conceitos de cores aos seus projetos de visualização de dados e busca aprimorar suas habilidades, considere explorar caminhos de aprendizado abrangentes, como o desenvolvimento em Python ou a carreira de analista de dados com Python. Essas trilhas voltadas para a carreira são projetadas para elevar sua proficiência de conceitos básicos a aplicativos mais avançados, e entender boas visualizações é sempre importante.


Vinod Chugani's photo
Author
Vinod Chugani
LinkedIn

Como um profissional experiente em ciência de dados, machine learning e IA generativa, Vinod se dedica a compartilhar conhecimento e capacitar aspirantes a cientistas de dados para que tenham sucesso nesse campo dinâmico.

Perguntas frequentes sobre a paleta de cores Seaborn

Quais são os diferentes tipos de paletas de cores disponíveis no Seaborn?

A Seaborn oferece três tipos principais de paletas de cores: qualitativas, sequenciais e divergentes. As paletas qualitativas são ideais para dados categóricos, as paletas sequenciais para dados numéricos com uma ordem natural e as paletas divergentes para dados que têm um ponto médio significativo.

Como posso criar uma paleta de cores personalizada no Seaborn?

Você pode usar a função color_palette() para criar paletas personalizadas, incluindo tipos qualitativos, sequenciais e divergentes. Ele permite a seleção de cores específicas usando códigos HEX para um controle preciso.

Quando devo usar cubehelix_palette() na Seaborn?

A função cubehelix_palette() é útil para criar paletas sequenciais com progressão suave de cores, especialmente quando você precisa de um controle refinado sobre o brilho e a variação de cores.

Qual é a finalidade de usar diverging_palette() na visualização de dados?

A função diverging_palette() foi projetada para dados com um ponto médio significativo, como lucros/perdas ou anomalias de temperatura. Ele usa tons contrastantes para mostrar a divergência em relação ao centro, ajudando a enfatizar os desvios.

O que são matiz, saturação e valor na seleção de cores?

O matiz representa a cor pura, como vermelho ou azul; a saturação indica a intensidade da cor, de vívida a suave; e o valor, também conhecido como brilho, define a claridade ou a escuridão da cor. A compreensão desses elementos ajuda você a escolher cores eficazes para visualizar diferentes tipos de dados.

 
Temas
Relacionado

blog

Uma introdução aos polares: Ferramenta Python para análise de dados em grande escala

Explore o Polars, uma biblioteca Python robusta para manipulação e análise de dados de alto desempenho. Saiba mais sobre seus recursos, suas vantagens em relação ao pandas e como ele pode revolucionar seus processos de análise de dados.
Moez Ali's photo

Moez Ali

9 min

Tutorial

Tutorial do Python Seaborn Line Plot: Criar visualizações de dados

Descubra como usar o Seaborn, uma biblioteca popular de visualização de dados em Python, para criar e personalizar gráficos de linha em Python.
Elena Kosourova's photo

Elena Kosourova

12 min

Tutorial

Guia passo a passo para criar mapas em Python usando a biblioteca Plotly

Faça seus dados se destacarem com mapas impressionantes criados com Plotly em Python
Moez Ali's photo

Moez Ali

7 min

Tutorial

Histogramas no Matplotlib

Aprenda sobre histogramas e como você pode usá-los para obter insights dos dados com a ajuda do matplotlib.
Aditya Sharma's photo

Aditya Sharma

8 min

Tutorial

Introdução à plotagem com Matplotlib em Python

Este tutorial demonstra como usar o Matplotlib, uma poderosa biblioteca de visualização de dados em Python, para criar gráficos de linha, barra e dispersão com dados do mercado de ações.

Kevin Babitz

25 min

Tutorial

Tutorial de seleção de colunas em Python

Use o Python Pandas e selecione colunas de DataFrames. Siga nosso tutorial com exemplos de código e aprenda diferentes maneiras de selecionar seus dados hoje mesmo!
DataCamp Team's photo

DataCamp Team

7 min

Ver maisVer mais