Bóson Treinamentos em Ciência e Tecnologia

Como criar um gráfico de Boxplot em Python com matplotlib

Criar gráfico de boxplot em Python com matplotlib e numpy

Gráfico de Boxplot em Python com matplotlib

Neste tutorial vou mostrar com criar um gráfico do tipo “boxplot” em Python, usando a biblioteca matplotlib.

O que é um boxplot?

Um boxplot (ou diagrama de caixa) é um tipo de gráfico estatístico utilizado para representar a distribuição de dados quantitativos de forma visual e resumida.

Ele é composto por uma caixa, que representa o intervalo interquartil (IIQ), e dois “whiskers” (ou hastes) que se estendem a partir da caixa, representando o mínimo e o máximo dos dados (ou ainda um valor específico definido pelo usuário).

A linha central da caixa é a mediana, enquanto a borda inferior da caixa é o primeiro quartil (Q1) e a borda superior da caixa é o terceiro quartil (Q3). Os pontos fora das hastes são considerados outliers ou discrepantes.

Elementos de um boxplot.
Imagem: Wikipedia

O boxplot é uma ferramenta útil para identificar valores extremos e assimetrias nos dados, além de permitir a comparação de diferentes conjuntos de dados. Ele é amplamente utilizado em áreas como estatística, ciência de dados e análise financeira para explorar e visualizar a distribuição de dados quantitativos.

Como criar o gráfico

Para criar um gráfico de boxplot completo usando a biblioteca Matplotlib em Python, vamos seguir as etapas abaixo:

1. Importamos as bibliotecas necessárias – matplotlib e numpy:

import matplotlib.pyplot as plt
import numpy as np

2. Criamos um conjunto de dados de exemplo. Neste exemplo, criaremos três conjuntos de dados diferentes, contendo números gerados de forma aleatória com o uso de random:

dados_1 = np.random.normal(0, 2, 100)
dados_2 = np.random.normal(5, 3, 100)
dados_3 = np.random.normal(-5, 5, 100)
dados = [dados_1, dados_2, dados_3]

3. Por fim, criamos o gráfico de boxplot usando o método boxplot() da biblioteca Matplotlib:

fig, ax = plt.subplots()
ax.boxplot(dados)
plt.show()

4. O código completo para criar o gráfico de boxplot completo fica assim:

import matplotlib.pyplot as plt
import numpy as np

# Gerar os dados de exemplo
dados_1 = np.random.normal(0, 2, 100)
dados_2 = np.random.normal(5, 3, 100)
dados_3 = np.random.normal(-5, 5, 100)
dados = [dados_1, dados_2, dados_3]

# Criar o gráfico de boxplot
fig, ax = plt.subplots()
ax.boxplot(dados)

# Mostrar o gráfico
plt.show()

Isso cria o gráfico de boxplot abaixo, com três caixas correspondentes aos três conjuntos de dados de exemplo.

Gráfico de boxplot simples usando matplotlib em Python

Podemos também personalizar o gráfico de boxplot adicionando títulos, rótulos de eixo e cores distintas. Vejamos um exemplo, personalizando o gráfico criado anteriormente:

import matplotlib.pyplot as plt
import numpy as np

# Gerar dados de exemplo
dados_1 = np.random.normal(0, 2, 100)
dados_2 = np.random.normal(5, 3, 100)
dados_3 = np.random.normal(-5, 5, 100)
dados = [dados_1, dados_2, dados_3]

# Criar o gráfico de boxplot
fig, ax = plt.subplots()

# Personalizar as cores das caixas
boxprops = dict(linestyle='--', linewidth=1.5, color='red') # estilo de linha da caixa
flierprops = dict(marker='o', markerfacecolor='purple', markersize=5, alpha=0.5)
medianprops = dict(linestyle='-.', linewidth=1.5, color='blue')
whiskerprops = dict(linestyle='-', linewidth=1.5, color='green')
ax.boxplot(dados, boxprops=boxprops, flierprops=flierprops, medianprops=medianprops, whiskerprops=whiskerprops)

# Personalizar os títulos e os rótulos dos eixos
ax.set_title('Gráfico de Boxplot Personalizado')
ax.set_xlabel('Conjunto de Dados')
ax.set_ylabel('Valores')

# Personalizar o eixo x
xticks = ['Dados 1', 'Dados 2', 'Dados 3']
ax.set_xticklabels(xticks)

# Mostrar o gráfico pronto
plt.show()

Nesse exemplo, personalizamos as cores das caixas, bem como as propriedades dos whiskers, medianas, outliers e caixas. Também adicionamos títulos e rótulos aos eixos e personalizamos o eixo x com rótulos personalizados. Veja o resultado abaixo:

Gráfico personalizado de boxplot com módulo matplotlib

As opções boxprops, flierprops, medianprops e whiskerprops são parâmetros opcionais no método boxplot() da biblioteca Matplotlib em Python.

Esses parâmetros permitem personalizar as propriedades visuais de diferentes partes do gráfico de boxplot, incluindo as caixas, os outliers, as medianas e os whiskers (ou hastes) que se estendem a partir das caixas:

É isso aí! Neste tutorial vimos como criar um gráfico de boxplot simples em Python.

 

Sair da versão mobile