Matplotlib Boxplot Python

Suraj Joshi 25 febrero 2021
Matplotlib Boxplot Python

Este tutorial explica cómo podemos crear una boxplot utilizando la función matplotlib.pyplot.boxplot() en Python.

El boxplot nos ayuda a comprender los datos dando información sobre la posición del mínimo, el primer cuartil, el medio, el tercer cuartil y los valores máximos de los datos.

boxplot en 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()

Producción:

Boxplot en Python usando Matplotlib

Traza una gráfica de caja a partir de los datos dados x. En el boxplot, la caja se extenderá desde Q1 hasta Q3; y la línea horizontal dentro de la caja representa la mediana de los datos. Los bigotes en la gráfica de caja se extienden desde el valor Q3 hasta el valor máximo de los datos y desde el valor mínimo de los datos hasta el Q1 de los datos.

El valor mínimo de los datos está determinado por el valor de Q1-1.5(Q3-Q1) mientras que el valor máximo de los datos está determinado por la 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()

Producción:

Boxplot en Python usando Matplotlib con valores atípicos

Traza el diagrama de caja de los datos dados x. También podemos observar dos valores atípicos en la parte superior del diagrama, representados por círculos en el diagrama.

Un punto de datos se representa como un atípico si su valor es menor que Q1-1.5(Q3-Q1) o mayor que Q3+ 1.5(Q3-Q1).

Si le pasamos un array 2D como argumento a la función matplotlib.pyplot.boxplot(), la función boxplot() hace boxplot para cada array o la lista del 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()

Producción:

Múltiples boxplots en Python usando Matplotlib

Crea un boxplot para cada array NumPy dentro de la lista data_2d. Por lo tanto, obtenemos 4 boxplots en una sola figura compartiendo ejes comunes.

Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn