Seaborn BoxPlot

Manav Narula 16 Juli 2021
Seaborn BoxPlot

Mit dem seaborn-Modul in Python können verschiedene statistische Grafiken und Diagramme erstellt werden. Mit der Funktion seaborn.boxplot() können wir einen Boxplot erstellen.

Analysten und Statistiker verwenden häufig ein Boxplot, um Daten über verschiedene Ebenen oder Kategorien hinweg darzustellen. Die Boxplot-Figur kann viele statistische Werte vermitteln. Die folgende Abbildung erklärt dies.

Informationen zum Boxplot

Die Funktion boxplot() arbeitet effizient beim Plotten kategorialer Werte eines Datensatzes und kann auch mit einzelnen Listen oder Array-Vektoren arbeiten. Es ist dem Violinplot sehr ähnlich.

Im folgenden Beispiel zeichnen wir einen Boxplot für eine einzelne Verteilung, um eine Vorstellung von der endgültigen Zahl zu erhalten.

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 für einzelne Variable

Wir können auch ein Streudiagramm über dem Boxplot zeichnen. Es wird Ihnen ein besseres Verständnis der aufgetragenen Verteilung und der endgültigen Zahl geben.

Wir verwenden die Funktion seaborn.striplot(), um das Streudiagramm zu zeichnen. Beispielsweise,

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 auf Boxplot

Der Boxplot kann effizient verwendet werden, um die kategorialen Variablen darzustellen und ihren Vergleich zu vereinfachen. Im folgenden Code zeichnen wir den Boxplot für mehrere Kategorien.

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 für kategoriale Daten

Beachten Sie, wie wir im obigen Datensatz den Preis für verschiedene Mengen leicht vergleichen können. Wir können auch den Parameter hue hinzufügen und seinen Wert als Variable Product festlegen. Auf diese Weise können wir verschiedene Kartons für verschiedene Produkte plotten.

Wir können matplotlib.pyplot.ylim() und matplotlib.pyplot.xlim() verwenden, um die Grenzen auf der x- und y-Achse des Plots festzulegen.

Wir können viele weitere Parameter verwenden, um den endgültigen Plot zu optimieren. Mit dem Parameter linewidth kann die Dicke der Ränder des Boxplots erhöht werden. Mit dem Parameter palette können wir die Farben für verschiedene Kategorien anpassen. Die Ausrichtung kann mit dem Argument orient geändert werden. Es gibt noch viele weitere solcher Argumente, die verwendet werden können.

Sehen Sie sich den folgenden Code an, um die Anwendung einiger dieser Parameter zu verstehen.

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"
)

Boxplot für mehrere Spalten mit Argumenten

Wir können auch die Funktion catplot() verwenden, um einen Boxplot zu erstellen. Die Funktion catplot() funktioniert sehr gut zum Plotten von kategorialen Werten. Um mit dieser Funktion einen Boxplot zu erstellen, müssen wir den Wert des Parameters kind in der Funktion catplot() als box angeben.

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