1
resposta

[Dúvida] Configurações de layout com as alternativas à função distplot

Como outros tópicos comentam, o método distplot() foi descontinuado e a própria documentação recomenda alternativamente os métodos displot() ou histplot(). Decidi experimentar com ambos os métodos e vi que podemos utilizar a mesma metodologia para configurar o layout, mesmo o resultado de cada método sendo um Axes e um FacetGrid.

Isso significa que ax.figure.set_size_inches e ax.set estão passando argumentos diretamente para os métodos do matplotlib? Minha dúvida vem depois de verificar que a quantidade default de bins para displot() são diferentes dos métodos alternativos e estava tentando definir o figsize dentro do ax.set mas não consegui encontrar nenhum parâmetro na documentação que pudesse substituir o set_size_inches

Abaixo os códigos que estou utilizando e que retornam resultados semelhantes:

ax = sns.histplot(dados.Altura)

ax.figure.set_size_inches(12,6)
ax.set(title="Distribuição de Frequências - Altura", xlabel='Metros')
ax

e

ax = sns.displot(dados.Altura, kind="hist", kde=True)

ax.figure.set_size_inches(12,6)
ax.set(title="Distribuição de Frequências - Altura - KDE", xlabel='Metros')
ax
1 resposta

Oi, João, tudo bem?

Sim, você está correto! O método distplot() foi descontinuado e a documentação do Seaborn recomenda alternativas como displot() ou histplot(). A configuração do layout é feita diretamente nos métodos do Matplotlib, pois o Seaborn é construído sobre o Matplotlib e, portanto, é possível utilizar os métodos de configuração de layout diretamente nos objetos retornados pelo Seaborn.

Quanto à quantidade default de bins, realmente há diferenças entre os métodos. No displot(), o número de bins padrão é diferente do distplot(). Para definir o número de bins, você pode utilizar o parâmetro bins diretamente no método displot(), como, por exemplo:

ax = sns.displot(dados.Altura, kind="hist", kde=True, bins=20).

Já para o figsize, como você mencionou, a configuração é feita diretamente no objeto retornado pelo Seaborn, utilizando ax.figure.set_size_inches. A configuração do título e dos labels dos eixos é feita através do método ax.set, como você já fez.

Parabéns pelo resultado e caso tenha dúvidas em seus estudos conte com o fórum para te ajudar.

Espero ter ajudado. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!