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