Skip to content

📊 Tutorial de Seaborn Boxplot: Criando Box Plots Personalizados em Python

Updated on

Box plots são uma ferramenta essencial no campo da ciência de dados, fornecendo um resumo estatístico dos dados e auxiliando na compreensão da distribuição dos dados. Eles são particularmente úteis durante a fase de Análise Exploratória de Dados (EDA) de projetos de ciência de dados. Este tutorial se concentrará em criar box plots usando a biblioteca Seaborn em Python, uma ferramenta poderosa para gráficos estatísticos e visualização de dados. Vamos explorar a função de box plot do Seaborn, sua sintaxe e como personalizá-la para atender às suas necessidades.

Seaborn é uma biblioteca de visualização de dados em Python baseada no Matplotlib. Ele fornece uma interface de alto nível para desenhar gráficos estatísticos informativos e atrativos. Uma das principais características do Seaborn é a capacidade de criar box plots, que são representações gráficas de resumos estatísticos de nossos dados. A função de box plot do Seaborn, seaborn.boxplot(), é uma ferramenta poderosa que nos permite criar esses gráficos com facilidade e flexibilidade.

Quer criar rapidamente Visualização de Dados a partir de um dataframe do Pandas com Nenhum código?

PyGWalker é uma biblioteca Python para Análise Exploratória de Dados com Visualização. PyGWalker (opens in a new tab) pode simplificar seu fluxo de trabalho de análise e visualização de dados no Jupyter Notebook, transformando seu dataframe do pandas (e dataframe do polars) em uma Interface de Usuário no estilo Tableau para exploração visual.

PyGWalker para Visualização de Dados (opens in a new tab)

O que é um Boxplot do Seaborn e como ele é usado?

Um boxplot do Seaborn é um método para representar graficamente grupos de dados numéricos por meio de seus quartis. Ele fornece um resumo visual dos dados, onde a caixa representa o intervalo interquartil (os 50% centrais dos dados), a linha dentro da caixa é a mediana e as linhas que se estendem da caixa são as hastes ("whiskers") que representam a amplitude dos dados. Valores atípicos, se houver, são representados como pontos individuais fora das hastes.

Box plots são usados para comparar distribuições entre diferentes conjuntos de dados. Por exemplo, você pode querer comparar a distribuição das notas de teste entre diferentes salas de aula ou a distribuição das temperaturas em diferentes meses. A função de box plot do Seaborn facilita a criação desses gráficos e a personalização deles de acordo com suas necessidades.

Criando um Boxplot do Seaborn em Python

Para criar um boxplot do Seaborn, você primeiro precisa importar a biblioteca Seaborn. Você pode fazer isso com a seguinte linha de código:

import seaborn as sns

Em seguida, você precisa carregar seus dados. O Seaborn pode lidar com dataframes do Pandas, então você pode carregar seus dados em um dataframe e passá-lo para a função de box plot do Seaborn. Aqui está um exemplo:

## Carregue o conjunto de dados de exemplo tips
tips = sns.load_dataset("tips")
 
## Crie um boxplot
sns.boxplot(x=tips["total_bill"])

Neste exemplo, estamos carregando o conjunto de dados de exemplo de gorjetas ("tips") do Seaborn e criando um boxplot dos valores totais da conta.

Personalizando a Aparência de um Boxplot do Seaborn

Box plots do Seaborn podem ser personalizados de várias maneiras para melhorar sua aparência e torná-los mais informativos. Aqui estão alguns exemplos de como você pode personalizar seus box plots do Seaborn:

Alterando a Orientação

Por padrão, o Seaborn cria box plots verticais. No entanto, você pode criar box plots horizontais trocando os parâmetros x e y. Aqui está um exemplo:

## Crie um boxplot horizontal
sns.boxplot(y=tips["total_bill"])

Adicionando Hue

Você pode adicionar um parâmetro de cor (hue) ao seu boxplot para dividir as caixas por outra variável categórica. Isso pode ser útil para comparar distribuições entre diferentes grupos. Aqui está um exemplo:

## Crie um boxplot com hue
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips)

Neste exemplo, estamos criando um boxplot dos valores totais da conta para cada dia, divididos pelo fato de o cliente ser fumante ou não.

Personalizando as Cores das Caixas

O Seaborn permite que você personalize as cores dos box plots. Você pode fazer isso passando uma paleta de cores para o parâmetro palette da função de box plot. Aqui está um exemplo:

## Crie um boxplot com cores personalizadas
sns.boxplot(x="day", y="total_bill", hue="smoker", data=tips, palette="Set3")

Neste exemplo, estamos usando a paleta de cores "Set3" para colorir nossos box plots.

Alterando as Hastes ("Whiskers")

Por padrão, as hastes ("whiskers") de um boxplot do Seaborn representam a amplitude dos dados, excluindo os valores atípicos. No entanto, você pode alterar isso passando um valor diferente para o parâmetro whis da função de box plot. Por exemplo, você pode definir whis como 0.5 para fazer com que as hastes representem os percentis 5 e 95. Aqui está um exemplo:

## Crie um boxplot com hastes personalizadas
sns.boxplot(x="day", y="total_bill", data=tips, whis=0.5)

Boxplot do Seaborn vs Violinplot

O Seaborn fornece outro tipo de gráfico chamado violin plot, que combina um boxplot com uma estimativa de densidade do núcleo para fornecer uma descrição mais rica da distribuição dos valores. Enquanto os boxplots são excelentes para fornecer um resumo dos dados, os violin plots podem dar uma imagem mais detalhada da distribuição.

No entanto, os violin plots podem ser mais complexos de interpretar e podem não ser adequados para todos os públicos. Boxplots, por outro lado, são diretos e amplamente compreendidos, tornando-os uma boa escolha para muitas situações.

Aqui está um exemplo de como criar um violin plot no Seaborn:

## Crie um violin plot
sns.violinplot(x="day", y="total_bill", data=tips)

Interpretando um Boxplot do Seaborn

Interpretar um boxplot do Seaborn envolve entender os diferentes componentes do gráfico. A caixa no meio representa a amplitude interquartil (IQR), que é a faixa entre o primeiro quartil (25º percentil) e o terceiro quartil (75º percentil). A linha dentro da caixa é a mediana, ou o 50º percentil dos dados. Os "whiskers" representam a faixa dos dados dentro de 1,5 vezes o IQR. Quaisquer pontos de dados fora dessa faixa são considerados outliers e são representados como pontos individuais.

Aqui está um exemplo de como interpretar um boxplot do Seaborn:

## Crie um boxplot
sns.boxplot(x="day", y="total_bill", data=tips)

Neste boxplot, você pode ver a conta total mediana para cada dia, representada pela linha dentro de cada caixa. As caixas representam o IQR, então você pode ver a faixa de contas totais para os 50% intermediários de clientes a cada dia. Os "whiskers" mostram a faixa de contas totais dentro de 1,5 vezes o IQR, e quaisquer pontos fora dessa faixa são outliers.

Anotações em Boxplots do Seaborn

Boxplots do Seaborn podem ser anotados para fornecer informações adicionais. Por exemplo, você pode anotar a mediana, quartis ou outliers com seus valores. Aqui está um exemplo de como adicionar anotações a um boxplot do Seaborn:

## Crie um boxplot
ax = sns.boxplot(x="day", y="total_bill", data=tips)
 
## Adicione as anotações
for patch in ax.artists:
    r, g, b, a = patch.get_facecolor()
    patch.set_facecolor((r, g, b, .3))
    x = patch.get_x()
    y = patch.get_y()
    width = patch.get_width()
    height = patch.get_height()
    ax.text(x+width/2, y+height/2, "{:.2f}".format(height), ha='center', va='center')
 
plt.show()

Neste exemplo, estamos adicionando anotações ao boxplot que mostram a altura de cada caixa, que representa o IQR.

Conclusão

Em conclusão, boxplots do Seaborn são uma ferramenta poderosa para visualizar e entender a distribuição de seus dados. Com a biblioteca Seaborn, você pode criar boxplots atrativos e informativos com apenas algumas linhas de código. Seja explorando um novo conjunto de dados ou preparando um relatório, boxplots do Seaborn podem ajudar você a obter as informações necessárias.

Perguntas Frequentes

O que é um boxplot do Seaborn e como ele é usado?

Um boxplot do Seaborn é uma representação gráfica da distribuição de um conjunto de dados, mostrando a mediana, quartis e outliers dos dados. É usado para visualizar e entender a distribuição dos dados e comparar distribuições entre diferentes grupos de dados.

Como posso criar um boxplot do Seaborn em Python?

Você pode criar um boxplot do Seaborn em Python usando a função seaborn.boxplot(). Você precisa passar seus dados para esta função e pode personalizar a aparência do boxplot usando vários parâmetros.

Como posso personalizar a aparência de um boxplot do Seaborn?

Você pode personalizar a aparência de um boxplot do Seaborn de várias maneiras, incluindo mudar a orientação, adicionar uma tonalidade, personalizar as cores e mudar os "whiskers". Você também pode adicionar anotações para fornecer informações adicionais.