Matplotlib Boxplot Python

Suraj Joshi 21 marzo 2022
Matplotlib Boxplot Python

Questo tutorial spiega come possiamo creare un boxplot usando la funzione matplotlib.pyplot.boxplot() in Python.

Il boxplot ci aiuta a ottenere informazioni sui dati fornendo informazioni sulla posizione dei valori minimo, 1° quartile, mediana, 3° quartile e massimo dei dati.

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

Produzione:

Boxplot in Python usando Matplotlib

Traccia un grafico a scatole dai dati forniti x. Nel boxplot, il riquadro si estenderà da Q1 a Q3; e la linea orizzontale all’interno del riquadro rappresenta la mediana dei dati. I baffi nel boxplot si estendono dal valore Q3 al valore massimo nei dati e dal valore minimo dei dati a Q1 dei dati.

Il valore minimo dei dati è determinato dal valore di Q1-1.5(Q3-Q1) mentre il valore massimo dei dati è determinato dalla formula 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()

Produzione:

Boxplot in Python utilizzando Matplotlib con valori anomali

Traccia il boxplot dei dati forniti x. Possiamo anche notare due outliner nella parte superiore del boxplot rappresentato da cerchi nel grafico.

Un punto dati viene tracciato come valore anomalo se il suo valore è minore di Q1-1.5(Q3-Q1) o maggiore di Q3+ 1.5(Q3-Q1).

Se passiamo un array 2D come argomento alla funzione matplotlib.pyplot.boxplot(), la funzione boxplot() crea boxplot per ogni array o l’lista nell’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()

Produzione:

Più Boxplot in Python utilizzando Matplotlib

Crea un boxplot per ogni array NumPy all’interno della lista data_2d. Quindi, otteniamo 4 grafici a scatole in una singola figura che condividono assi comuni.

Autore: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

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

LinkedIn