BoxPlot Seaborn

Manav Narula 16 luglio 2021
BoxPlot Seaborn

Diversi grafici e grafici statistici possono essere creati utilizzando il modulo seaborn in Python. Possiamo creare un box plot usando la funzione seaborn.boxplot().

Analisti e statistici utilizzano spesso un box plot per rappresentare i dati su diversi livelli o categorie. La figura del box plot può trasmettere molti valori statistici. La figura seguente lo spiega.

Informazioni sul box plot

La funzione boxplot() funziona in modo efficiente nel tracciare valori categoriali di un set di dati e può anche funzionare con elenchi singoli o vettori di array. È molto simile alla trama del violino.

Nell’esempio seguente, tracciamo un box plot per una singola distribuzione per avere un’idea della figura finale.

import random
import numpy as np
import seaborn as sns

n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.boxplot(n)

boxplot per singola variabile

Possiamo anche tracciare un grafico a dispersione sul grafico a scatole. Ti darà una migliore comprensione della distribuzione tracciata e della cifra finale.

Useremo la funzione seaborn.stripplot() per tracciare il grafico a dispersione. Per esempio,

import random
import numpy as np
import seaborn as sns

n = random.sample(range(0, 50), 30)
arr = np.array(n)
sns.boxplot(n)
sns.stripplot(n, color="red")

stripplot su boxplot

Il box plot può essere utilizzato in modo efficiente per tracciare le variabili categoriali e rendere semplice il loro confronto. Nel codice seguente, tracceremo il box plot per più categorie.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
        "Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
        "Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
        "Product": [
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
        ],
    }
)

sns.boxplot(data=df, y="Price", x="Quantity")

boxplot per i dati categorici

Nota come nel set di dati sopra, possiamo facilmente confrontare il prezzo tra diverse quantità. Possiamo anche aggiungere il parametro hue e impostarne il valore come variabile Product. In questo modo, saremo in grado di tracciare scatole diverse per prodotti diversi.

Possiamo usare matplotlib.pyplot.ylim() e matplotlib.pyplot.xlim() per impostare i limiti sugli assi x e y del grafico.

Possiamo usare molti più parametri per modificare la trama finale. Il parametro linewidth può essere utilizzato per aumentare lo spessore dei bordi del box plot. Possiamo personalizzare i colori per diverse categorie utilizzando il parametro palette. L’orientamento può essere modificato utilizzando l’argomento orient. Ci sono molti altri argomenti simili che possono essere usati.

Vedere il codice seguente per comprendere l’applicazione di alcuni di questi parametri.

import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

df = pd.DataFrame(
    {
        "Quantity": [5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8, 5, 6, 7, 8],
        "Price": [9, 10, 15, 16, 13, 14, 15, 18, 11, 12, 14, 15, 16, 17, 18, 19],
        "Day": [1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2],
        "Product": [
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
            "A",
            "A",
            "A",
            "A",
            "B",
            "B",
            "B",
            "B",
        ],
    }
)

sns.boxplot(
    data=df, y="Price", x="Quantity", hue="Product", linewidth=2.5, palette="Set2"
)

box plot per più colonne con argomenti

Possiamo anche usare la funzione catplot() per creare un box plot. La funzione catplot() funziona molto bene per tracciare valori categoriali. Per creare un box plot usando questa funzione, dobbiamo specificare il valore del parametro kind nella funzione catplot() come box.

Autore: Manav Narula
Manav Narula avatar Manav Narula avatar

Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.

LinkedIn