Como criar gráficos de distribuição personalizados com o displot do Seaborn
Published on
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
- 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.
- 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.
- 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.