Matplotlib Boxplot Python

Suraj Joshi 15 fevereiro 2024
Matplotlib Boxplot Python

Este tutorial explica como podemos criar um boxplot utilizando a função matplotlib.pyplot.boxplot() em Python.

O boxplot ajuda-nos a obter conhecimentos sobre os dados, dando informações sobre a posição de mínimo, primeiro quartil, médio, terceiro quartil, e os valores máximos dos dados.

boxplot em Python Matplotlib

import matplotlib.pyplot as plt

x = [4, 5, 6, 8, 9, 10, 10, 11, 11, 12, 13, 14, 15, 15, 15, 17, 18, 19, 22, 23, 25]

plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()

Resultado:

Boxplot em Python usando Matplotlib

Traça um boxplot a partir dos dados fornecidos x. Na boxplot, a caixa estender-se-á de Q1 a Q3; e a linha horizontal dentro da caixa representa a mediana dos dados. Os bigodes na boxplot estendem-se de Q3 a valor máximo nos dados e do valor mínimo dos dados a Q1 dos dados.

O valor mínimo dos dados é determinado pelo valor de Q1-1.5(Q3-Q1) enquanto que o valor máximo dos dados é determinado pela fórmula Q3+1.5(Q3-Q1).

import matplotlib.pyplot as plt

x = [
    1,
    4,
    5,
    6,
    8,
    9,
    10,
    10,
    11,
    11,
    12,
    12,
    13,
    14,
    15,
    15,
    15,
    17,
    18,
    18,
    19,
    22,
    23,
    25,
    30,
    33,
    35,
]

plt.boxplot(x)
plt.title("Boxplot Using Matplotlib")
plt.show()

Resultado:

Boxplot em Python utilizando Matplotlib com outliers

Traça o boxplot dos dados fornecidos x. Também podemos notar dois outliers no topo do boxplot representados por círculos na parcela.

Um ponto de dados é traçado como um outlier se o seu valor for menor que Q1-1.5(Q3-Q1) ou maior que Q3+ 1.5(Q3-Q1).

Se passarmos um array 2D como argumento para a função matplotlib.pyplot.boxplot(), a função boxplot() faz boxplot para cada array ou para a lista no array 2D.

import numpy as np
import matplotlib.pyplot as plt

np.random.seed(100)

data_a = np.random.randint(2, 15, size=15)
data_b = np.random.randint(5, 18, size=20)
data_c = np.random.randint(2, 20, size=30)
data_d = np.random.randint(1, 30, size=40)

data_2d = [data_a, data_b, data_c, data_d]

plt.boxplot(data_2d)
plt.title("Boxplot Using Matplotlib")
plt.show()

Resultado:

Boxplots múltiplos em Python utilizando Matplotlib

Cria boxplot para cado array NumPy dentro da lista data_2d. Assim, obtemos 4 boxplotts numa única figura partilhando eixos comuns.

Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn