HOWTO · Seaborn
Definir a cor de fundo dos gráficos Seaborn
Este tutorial demonstra como definir a cor de fundo dos gráficos do Seaborn em Python. Aprenda vários métodos para personalizar seus gráficos, incluindo set_style, set_palette e configurações diretas do fundo da figura. Melhore suas visualizações de dados com fundos atraentes e faça suas conclusões se destacarem. Explore técnicas para criar gráficos coesos e visualmente atraentes que comuniquem de forma eficaz a história dos seus dados.
Nesta página
Para definir uma cor exata de fundo em um gráfico Seaborn, passe as configurações axes.facecolor e figure.facecolor do Matplotlib para seaborn.set(). A configuração dos eixos colore a área do gráfico; a configuração da figura colore o espaço ao redor. Para obter rapidamente um visual harmonioso, escolha uma predefinição com seaborn.set_style(). Use a abordagem de cor exata quando precisar de uma cor específica e uma predefinição quando a combinação de fundo, grade e marcas dos eixos for adequada ao gráfico.
Definir uma cor de fundo exata com Seaborn e Matplotlib
Passe para seaborn.set() um dicionário rc com as configurações do Matplotlib que deseja alterar. São aceitos nomes de cores e códigos hexadecimais. Este exemplo autocontido usa um azul-claro na área do gráfico e um tom quase branco no fundo da figura, e depois salva a figura:
Execute este exemplo:
import matplotlib.pyplot as plt
import seaborn as sns
sns.set(rc={
"axes.facecolor": "#EAF2F8",
"figure.facecolor": "#F7F9FC",
})
fig, ax = plt.subplots()
sns.scatterplot(x=[1, 2, 3], y=[2, 4, 3], ax=ax)
fig.savefig("seaborn-background.png", dpi=150, bbox_inches="tight")
Altere qualquer um dos valores de cor para um nome, como lightblue, ou para outro código hexadecimal. As configurações se aplicam aos gráficos criados após a chamada; para alterar um único eixo ou uma única figura, defina a cor de fundo do objeto diretamente, como descrito abaixo.
Escolher uma cor de fundo com um estilo do Seaborn
seaborn.set_style() seleciona uma predefinição que controla várias propriedades visuais em conjunto. Os estilos disponíveis são darkgrid, whitegrid, dark, white e ticks. Por exemplo, sns.set_style("whitegrid") dá aos eixos um fundo claro com linhas de grade, enquanto sns.set_style("dark") usa uma área de gráfico escura sem grade. Como o estilo altera mais do que o fundo, escolha um cujas linhas de grade e marcas dos eixos também sejam adequadas aos dados.
Uma paleta controla as cores atribuídas às séries de dados, enquanto o contexto ajusta fatores de escala, como o tamanho dos rótulos e das linhas. sns.set_palette("deep") e sns.set_context("notebook") podem harmonizar os elementos gráficos e o texto com o estilo, mas nenhum dos dois define a cor de fundo. Para aplicar uma configuração consistente, sns.set() pode receber em conjunto configurações de estilo, paleta, contexto e rc.
Definir diretamente o fundo da figura e dos eixos
Use objetos do Matplotlib quando a cor deve afetar somente uma figura ou uma área de gráfico. Depois de executar fig, ax = plt.subplots(), fig.patch.set_facecolor("#F7F9FC") altera todo o fundo da figura, inclusive as margens ao redor dos eixos. ax.set_facecolor("#EAF2F8") altera somente a área de gráfico desse eixo. Esses métodos são úteis quando diferentes eixos em uma figura com vários gráficos precisam de fundos distintos; chame set_facecolor() em cada eixo que precisar de uma cor própria.
Os valores figure.facecolor e axes.facecolor passados pelo Seaborn servem como padrão para as figuras e os eixos criados depois. Os métodos diretos alteram os objetos que você já tem, deixando claro o escopo da mudança e evitando que ela afete gráficos criados posteriormente.
Harmonizar o estilo do gráfico, salvar a figura e verificar a legibilidade
O exemplo acima combina um fundo de cor exata com um gráfico de dispersão do Seaborn e salva a figura usando fig.savefig(). Chame o método de salvamento da figura depois de criar o gráfico e definir suas cores. Se preferir usar plt.savefig(), faça isso enquanto a figura desejada estiver ativa. Não é necessário exibir o gráfico antes de salvá-lo.
Mantenha contraste suficiente entre o fundo, os pontos de dados, os rótulos e as linhas de grade. Um fundo escuro pode funcionar bem com pontos claros, enquanto um fundo claro costuma combinar com pontos escuros; confira se as linhas de grade continuam visíveis sem competir com os dados. O Seaborn aceita as especificações de cor padrão do Matplotlib, incluindo nomes de cores e códigos hexadecimais. Escolha cores que mantenham a legibilidade tanto na imagem salva quanto na tela.