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.
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.
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:
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.
Escreva um comentário