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:
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:
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:
Cria boxplot
para cado array NumPy dentro da lista data_2d
. Assim, obtemos 4 boxplotts numa única figura partilhando eixos comuns.
Suraj Joshi is a backend software engineer at Matrice.ai.
LinkedIn