2
respostas

[Dúvida] Como o Seaborn recebe o novo Figsize?

No trecho abaixo, a biblioteca (matplotlib.pyplot) é importada e um valor é passado através do método figure() para configurar o tamanho dos gráficos. No entanto, o método é invocado pelo objeto plt, como é que o Seaborn que já estava importado e em uso antes, conseguiu capturar essa nova configuração? É o objeto plt que transmite isso internamente para outras bibliotecas importadas?

import matplotlib.pyplot as plt

plt.figure(figsize=(5,8))
           
sns.boxplot(y=medias_por_filme)
2 respostas

Olá, Erich! Sua pergunta é muito interessante e mostra que você está atento aos detalhes do funcionamento das bibliotecas que estamos utilizando.

O que acontece é que o Seaborn é construído em cima do Matplotlib. Isso significa que muitas das configurações que você aplica através do Matplotlib, como o plt.figure(figsize=(5,8)), são reconhecidas pelo Seaborn. Isso ocorre porque o Seaborn utiliza o Matplotlib "por baixo dos panos" para criar os gráficos.

Então, quando você define o tamanho da figura usando plt.figure(figsize=(5,8)), você está na verdade configurando o ambiente gráfico do Matplotlib. E como o Seaborn utiliza esse mesmo ambiente para desenhar seus gráficos, ele acaba "herdando" essa configuração.

Aqui está um exemplo prático para ilustrar isso:

import matplotlib.pyplot as plt
import seaborn as sns

# Define o tamanho da figura no Matplotlib
plt.figure(figsize=(10,5))

# Cria um gráfico com Seaborn
sns.boxplot(y=[1, 2, 3, 4, 5, 6])

# Exibe o gráfico
plt.show()

Neste exemplo, mesmo que a configuração do tamanho da figura tenha sido feita no Matplotlib, o Seaborn a respeita e cria um gráfico com o tamanho especificado.

Espero ter ajudado e bons estudos!

Muito obrigado, Allan!

Acho que entendi melhor. No caso o objeto plt não representa uma nova instância da matplotlib.pyplot, o objeto plt colocado como alias no import faz a mesma referência (ambiente) que o Seaborn está fazendo por baixo dos panos.

Abraço!