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

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

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 usando matplotlib em Python

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

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:

  • boxprops: um dicionário de propriedades da caixa que define as propriedades visuais das caixas no gráfico de boxplot. Essas propriedades incluem a cor da borda, a espessura da borda, o estilo da borda, a cor do preenchimento, entre outras.
  • flierprops: um dicionário de propriedades do outlier que define as propriedades visuais dos outliers no gráfico de boxplot. Essas propriedades incluem o marcador usado para representar os outliers, a cor do marcador, o tamanho do marcador, a opacidade do marcador, entre outras.
  • medianprops: um dicionário de propriedades da mediana que define as propriedades visuais da linha mediana no gráfico de boxplot. Essas propriedades incluem a cor da linha, a espessura da linha, o estilo da linha, entre outras.
  • whiskerprops: um dicionário de propriedades do whisker que define as propriedades visuais dos whiskers (ou hastes) no gráfico de boxplot. Essas propriedades incluem a cor da linha, a espessura da linha, o estilo da linha, entre outras.

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

 

Sobre Fábio dos Reis (1195 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

Escreva um comentário

Seu e-mail não será divulgado


*