Skip to content
Tutoriais
Seaborn
How to Create Custom Distribution Plots with Seaborn Displot

Como criar gráficos de distribuição personalizados com o displot do Seaborn

A visualização de dados é um aspecto crucial da análise de dados e aprendizado de máquina. Ela nos permite entender conjuntos de dados complexos e extrair insights deles. Uma das bibliotecas mais populares para visualização de dados em Python é o Seaborn, e uma de suas ferramentas mais poderosas é a função displot. Este tutorial irá guiar você no processo de criação e personalização de gráficos de distribuição usando a função displot do Seaborn em Python.

O displot do Seaborn é uma função versátil que pode criar uma variedade de gráficos de distribuição, incluindo histogramas, gráficos KDE e gráficos ECDF. É uma ferramenta flexível e poderosa que pode lidar tanto com dados univariados quanto bivariados, tornando-se uma parte essencial do conjunto de ferramentas de qualquer analista de dados. Seja um cientista de dados experiente ou um iniciante que está começando, entender como usar displot de forma eficaz pode melhorar significativamente suas habilidades de visualização de dados.

O que é Displot no Seaborn?

O displot do Seaborn é uma função projetada para visualizar a distribuição de dados. É uma função flexível que pode criar uma variedade de gráficos de distribuição, incluindo histogramas, gráficos KDE e gráficos ECDF. A função displot faz parte do módulo relational do Seaborn, que é projetado para visualizar relações estatísticas entre variáveis.

A sintaxe básica para displot é a seguinte:

seaborn.displot(data, x=None, y=None, hue=None, row=None, col=None, weights=None, kind='hist', rug=False, rug_kws=None, log_scale=None, legend=True, palette=None, hue_order=None, hue_norm=None, color=None, col_wrap=None, row_order=None, col_order=None, height=5, aspect=1, facet_kws=None, **kwargs)

A função displot recebe vários argumentos que permitem personalizar a aparência e o comportamento dos seus gráficos. Por exemplo, você pode especificar o tipo de gráfico (histograma, KDE ou ECDF), as variáveis a serem plotadas (x e y) e a variável a ser usada para agrupamento de cores (hue).

Diferença entre Distplot e Displot

Embora tanto distplot quanto displot sejam funções do Seaborn usadas para visualizar distribuições de dados, há algumas diferenças importantes entre eles. A função distplot era a função principal usada para criar histogramas e gráficos KDE em versões anteriores do Seaborn. No entanto, distplot foi depreciado em versões recentes do Seaborn, e displot é agora a função recomendada para criar gráficos de distribuição.

A função displot é mais flexível e poderosa que distplot. Ela pode lidar tanto com dados univariados quanto bivariados, e pode criar uma variedade maior de gráficos, incluindo histogramas, gráficos KDE, gráficos ECDF e muito mais. Além disso, displot suporta o uso de FacetGrid, que permite criar vários subgráficos em uma única figura.

Seaborn está obsoleto?

Não, o Seaborn não está obsoleto. No entanto, algumas funções dentro do Seaborn, como distplot, foram depreciadas em versões recentes. A função displot é agora a função recomendada para criar gráficos de distribuição no Seaborn. Ela é mais flexível e poderosa que distplot, e foi projetada para funcionar bem com o restante do módulo relational do Seaborn.

Exemplos de Displot do Seaborn

Para entender melhor como usar o displot, vamos analisar alguns exemplos. Vamos começar importando as bibliotecas necessárias e carregando um conjunto de dados:

import seaborn as sns
import matplotlib.pyplot as plt
 
## Carregar o conjunto de dados dos pinguins
penguins = sns.load_dataset("penguins")

Exemplo 1: Histograma básico

O uso mais simples do displot é criar um histograma de uma única variável. Veja como você pode criar um histograma da variável flipper_length_mm a partir do conjunto de dados dos pinguins:

sns.displot(data=penguins, x="flipper_length_mm")
plt.show()

Isso criará um histograma básico com a determinação automática do tamanho dos bins. Você pode personalizar o número de bins usando o parâmetro bins:

sns.displot(data=penguins, x="flipper_length_mm", bins=20)
plt.show()

Exemplo 2: Histograma com KDE

Você também pode adicionar um gráfico de estimativa de densidade kernel (KDE) ao seu histograma usando o parâmetro kde:

sns.displot(data=penguins, x="flipper_length_mm", kde=True)
plt.show()

O gráfico KDE é uma versão suavizada do histograma e pode fornecer uma melhor ideia da forma da distribuição dos dados.

Exemplo 3: Histograma com FacetGrid

Uma das características mais poderosas do displot é sua capacidade de criar vários subgráficos em uma única figura usando o FacetGrid. Você pode criar um subgráfico separado para cada espécie de pinguim da seguinte forma:

sns.displot(data=penguins, x="flipper_length_mm", col="species")
plt.show()

Isso criará um histograma separado para cada espécie de pinguim, permitindo comparar as distribuições de comprimento das nadadeiras entre as espécies.

Personalização do Seaborn Displot

A função displot do Seaborn oferece uma variedade de opções para personalizar a aparência dos seus gráficos. Você pode controlar a cor do gráfico, o tamanho e o estilo dos bins, a aparência do gráfico KDE e muito mais.

Exemplo 4: Personalizando cor e bins

Para alterar a cor do gráfico, você pode usar o parâmetro color. Por exemplo, para criar um histograma vermelho, você pode fazer o seguinte:

sns.displot(data=penguins, x="flipper_length_mm", color="red")
plt.show()

Você também pode personalizar o tamanho e o estilo dos bins usando os parâmetros binwidth e binrange. Por exemplo, para criar um histograma com bins de largura 5 e intervalo de 150 a 250, você pode fazer o seguinte:

sns.displot(data=penguins, x="flipper_length_mm", binwidth=5, binrange=(150, 250))
plt.show()

Exemplo 5: Personalizando o KDE Plot

Se você estiver usando um KDE plot, você pode personalizar sua aparência usando o parâmetro kde_kws. Por exemplo, para criar um KDE plot com uma linha mais grossa e uma cor diferente, você pode fazer o seguinte:

sns.displot(data=penguins, x="flipper_length_mm", kde=True, kde_kws={"color": "green", "lw": 3})
plt.show()

Seaborn Displot com Múltiplas Colunas

Uma das características mais poderosas da função displot do Seaborn é sua capacidade de lidar com múltiplas colunas de dados. Isso permite criar visualizações complexas que podem revelar padrões e relações interessantes nos dados.

Exemplo 6: Displot com Duas Variáveis

Para criar um displot com duas variáveis, você pode especificar tanto os parâmetros x quanto y. Por exemplo, para criar um histograma bivariado das variáveis flipper_length_mm e body_mass_g, você pode fazer o seguinte:

sns.displot(data=penguins, x="flipper_length_mm", y="body_mass_g")
plt.show()

Isso criará um histograma 2D onde a intensidade da cor representa a quantidade de pontos de dados em cada bin.

Exemplo 7: Displot com Hue

Você também pode usar o parâmetro hue para agrupar seus dados por outra variável. Por exemplo, para criar um histograma de flipper_length_mm agrupado por species, você pode fazer o seguinte:

sns.displot(data=penguins, x="flipper_length_mm", hue="species")
plt.show()

Isso criará um histograma separado para cada espécie, com cores diferentes para cada espécie.

Perguntas Frequentes

  1. O que é a função displot no Seaborn?

A função displot no Seaborn é uma função flexível projetada para visualizar a distribuição de dados. Ela pode criar uma variedade de gráficos de distribuição, incluindo histogramas, KDE plots e ECDF plots.

  1. Como posso personalizar a aparência do meu displot?

Você pode personalizar a aparência do seu displot usando vários parâmetros, como color para a cor do gráfico, binwidth e binrange para o tamanho e intervalo dos bins, e kde_kws para a aparência do KDE plot.

  1. Posso usar o displot com múltiplas colunas de dados?

Sim, o displot pode lidar com múltiplas colunas de dados. Você pode especificar tanto os parâmetros x e y para criar um histograma bivariado, ou usar o parâmetro hue para agrupar seus dados por outra variável.