HOWTO · Seaborn
Como alterar o tamanho do gráfico Seaborn
Este tutorial demonstra como alterar o tamanho de um gráfico Seaborn em Python.
Nesta página
Em ciência de dados e visualização, criar gráficos informativos e visualmente atraentes é crucial. Uma ferramenta poderosa para criar gráficos esteticamente agradáveis é o Seaborn, uma biblioteca de visualização de dados em Python construída sobre o Matplotlib.
Neste artigo, exploraremos vários métodos para definir o tamanho da figura de gráficos Seaborn em Python, desde o uso de parâmetros integrados como height e aspect até funções do Matplotlib como figure(), gcf() e subplots().
Definir o tamanho da figura de um gráfico Seaborn em Python usando a função seaborn.set()
O primeiro método que usaremos é a função seaborn.set(), que permite aos usuários personalizar vários aspectos da aparência da biblioteca, incluindo temas e configurações. Para o nosso propósito, vamos nos concentrar em usá-la para controlar o tamanho dos gráficos Seaborn.
Sintaxe:
import seaborn as sns
sns.set(rc={"figure.figsize": (width, height)})
O parâmetro rc aceita um dicionário no qual especificamos o argumento de palavra-chave 'figure.figsize' e o valor correspondente como uma tupla contendo a largura e a altura desejadas da figura. Substitua width e height pelo tamanho específico da figura.
Exemplo de definição do tamanho da figura Seaborn usando seaborn.set()
Tamanho padrão da figura:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Sample data
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df)
plt.title("Default Figure Size")
plt.show()
No bloco de código inicial, importamos as bibliotecas necessárias, criamos dados de exemplo e geramos um gráfico sem definir explicitamente o tamanho da figura. Isso representa o comportamento padrão.
Saída do código:
Depois de definir o tamanho da figura Seaborn:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.set(rc={"figure.figsize": (15, 8)})
p = sns.lineplot(data=df)
plt.show()
Neste bloco de código modificado, introduzimos sns.set(rc={"figure.figsize": (15, 8)}), no qual invocamos a função seaborn.set() para especificar o tamanho da figura Seaborn. O parâmetro rc recebe um dicionário e, neste caso, definimos o argumento de palavra-chave "figure.figsize" com as dimensões desejadas de 15 polegadas de largura e 8 polegadas de altura.
Saída do código:
A saída mostra um gráfico de linhas com o tamanho de figura especificado de 15 polegadas por 8 polegadas, garantindo que a representação visual atenda ao tamanho desejado.
Definir o tamanho da figura de um gráfico Seaborn em Python usando a função rcParams
Além da função seaborn.set(), outra abordagem para definir o tamanho da figura Seaborn envolve o uso da função rcParams do módulo matplotlib.pyplot. Esse segundo método também oferece flexibilidade na personalização do estilo do gráfico.
A função rcParams é usada para configurar vários aspectos do comportamento do Matplotlib, incluindo o tamanho da figura. Para alterar o tamanho da figura, visamos especificamente o parâmetro "figure.figsize" dentro de rcParams, atribuindo as dimensões desejadas como uma tupla.
Sintaxe:
from matplotlib import rcParams
rcParams["figure.figsize"] = (width, height)
Substitua width e height pelas dimensões específicas que você deseja para a figura.
Exemplo de definição do tamanho da figura Seaborn usando rcParams
from matplotlib import rcParams
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
rcParams["figure.figsize"] = 15, 8
p = sns.lineplot(data=df)
plt.show()
Para definir o tamanho da figura, empregamos rcParams["figure.figsize"] = 15, 8. Essa linha de código modifica diretamente os parâmetros de configuração em tempo de execução do Matplotlib para especificar o tamanho desejado de 15 polegadas de largura e 8 polegadas de altura.
Saída do código:
Definir o tamanho da figura de um gráfico Seaborn em Python usando a função matplotlib.pyplot.figure()
Outro método simples à nossa disposição é a função matplotlib.pyplot.figure(), usada para criar uma nova instância de figura. Ao utilizar o parâmetro chamado figsize dentro dessa função, podemos especificar a largura e a altura do objeto da figura em polegadas.
Sintaxe:
import matplotlib.pyplot as plt
plt.figure(figsize=(width, height))
Substitua width e height pelas dimensões específicas que você deseja para a figura. Essa função deve ser chamada antes de você criar o gráfico, para garantir que o tamanho da figura seja configurado adequadamente.
Exemplo de definição do tamanho da figura Seaborn usando matplotlib.pyplot.figure()
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
# Set the size of the figure using matplotlib.pyplot.figure()
plt.figure(figsize=(15, 8))
# Create plot
p = sns.lineplot(data=df)
plt.show()
Neste exemplo, usamos plt.figure(figsize=(15, 8)), em que figsize é especificado como uma tupla que representa a largura e a altura da figura. Esse método garante que o gráfico subsequente respeite as dimensões especificadas.
Saída do código:
Criamos com sucesso um gráfico de linhas com o tamanho de figura Seaborn designado de 15 polegadas por 8 polegadas.
Definir o tamanho da figura de um gráfico Seaborn em Python usando a função matplotlib.pyplot.gcf()
Para um controle refinado sobre o tamanho dos gráficos, a função matplotlib.pyplot.gcf(), em conjunto com set_size_inches(), oferece uma solução versátil.
A função matplotlib.pyplot.gcf() significa “obter a figura atual” (get current figure) e recupera a instância da figura atual. Combinada com set_size_inches(), ela permite ajustar o tamanho da figura dinamicamente.
Sintaxe:
import matplotlib.pyplot as plt
current_fig = plt.gcf()
current_fig.set_size_inches(width, height)
Substitua width e height pelas dimensões desejadas. Essa função é particularmente útil quando você já criou um gráfico e deseja modificar o seu tamanho.
Exemplo de definição do tamanho da figura Seaborn usando matplotlib.pyplot.gcf()
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
p = sns.lineplot(data=df)
plt.gcf().set_size_inches(15, 8)
plt.show()
Ao contrário dos exemplos anteriores, aqui definimos o tamanho da figura depois de criar o gráfico, usando plt.gcf().set_size_inches(15, 8). O plt.gcf() recupera a instância da figura atual, e set_size_inches() é então aplicado para ajustar dinamicamente a figura para 15 polegadas de largura e 8 polegadas de altura.
Saída do código:
Como você pode ver, a saída mostra um gráfico de linhas com o tamanho de figura especificado de 15 polegadas por 8 polegadas.
Definir o tamanho da figura de um gráfico Seaborn em Python usando os parâmetros height e aspect
O Seaborn simplifica o processo de ajuste do tamanho da figura ao oferecer parâmetros integrados como height e aspect para tipos específicos de gráfico, como lmplot, catplot e jointplot. Eles permitem que os usuários controlem diretamente o tamanho da figura plotada sem chamadas de função adicionais.
O parâmetro height no Seaborn representa a altura de toda a figura, enquanto o parâmetro aspect controla a proporção (aspect ratio) do gráfico.
Exemplo de definição do tamanho da figura Seaborn usando os parâmetros height e aspect
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
# create plot
p = sns.catplot(data=df, height=8, aspect=15 / 8, kind="bar")
plt.show()
Neste exemplo, para definir o tamanho da figura, usamos a função sns.catplot(), que oferece suporte inerente aos parâmetros height e aspect. Neste caso, height=8 define a altura da figura como 8 polegadas, e aspect=15 / 8 controla a proporção para alcançar uma largura de 15 polegadas.
Saída do código:
Esse método é particularmente conveniente ao trabalhar com tipos de gráfico Seaborn que já vêm com parâmetros integrados.
Definir o tamanho da figura de um gráfico Seaborn em Python usando a função matplotlib.pyplot.subplots()
A função matplotlib.pyplot.subplots() oferece uma abordagem versátil para definir o tamanho da figura em gráficos Seaborn. Ao criar objetos de figura e de eixos usando essa função, podemos personalizar facilmente as dimensões antes de gerar os gráficos.
A função matplotlib.pyplot.subplots() é usada para criar uma figura e um conjunto de subgráficos (subplots). O parâmetro figsize dentro dessa função nos permite especificar a largura e a altura de toda a figura em polegadas, e os subgráficos individuais podem ser acessados por meio do objeto de eixos do Seaborn e receber gráficos específicos.
Esse método é particularmente útil quando vários subgráficos estão envolvidos, pois oferece um controle refinado sobre o tamanho geral da figura.
Exemplo de definição do tamanho da figura Seaborn usando matplotlib.pyplot.subplots()
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
fig, ax = plt.subplots(figsize=(15, 8))
p = sns.lineplot(data=df, ax=ax)
plt.show()
Neste exemplo, a etapa principal envolve o uso de plt.subplots(figsize=(15, 8)) para criar uma figura e eixos com um tamanho especificado de 15 polegadas por 8 polegadas. Ao plotar a figura Seaborn, definimos o parâmetro ax como igual à matriz de eixos retornada por matplotlib.pyplot.subplots().
Saída do código:
Isso gerou com sucesso um gráfico de linhas com o tamanho de gráfico da figura Seaborn especificado de 15 polegadas por 8 polegadas.
Conclusão
Este artigo apresentou uma exploração abrangente de vários métodos, juntamente com alguns exemplos, para definir o tamanho da figura de gráficos Seaborn em Python. Seja utilizando os parâmetros integrados do Seaborn, como height e aspect, a função matplotlib.pyplot.figure(), a função matplotlib.pyplot.gcf() ou matplotlib.pyplot.subplots(), cada método oferece uma abordagem única para adaptar a representação visual dos seus gráficos.
Dominar essas técnicas aprimora a sua capacidade de comunicar informações complexas por meio de visualizações Seaborn visualmente impactantes, um pilar da ciência de dados.
Como próximo passo, explorar visualizações estatísticas avançadas pode ser um caminho empolgante. Especificamente, aprofundar-se no tópico de Mapas de calor Seaborn para análise de correlação pode aprimorar as suas habilidades de visualização de dados.