Erstelle anpassbare Boxplots mit Matplotlib

PythonPythonBeginner
Jetzt üben

This tutorial is from open-source community. Access the source code

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Das Boxplot-Diagramm ist eine grafische Darstellung einer Gruppe von Daten über ihre Quartile. Es wird verwendet, um die Verteilung von Daten basierend auf ihrer fünfstelligen Zusammenfassung anzuzeigen: Minimum, erstes Quartil, Median, drittes Quartil und Maximum. In diesem Tutorial lernen wir, wie man ein Boxplot-Diagramm mit der Matplotlib-Bibliothek in Python erstellt und anpasst.

Tipps für die virtuelle Maschine

Nachdem der Start der virtuellen Maschine abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu nutzen.

Manchmal müssen Sie einige Sekunden warten, bis Jupyter Notebook vollständig geladen ist. Die Validierung von Vorgängen kann aufgrund von Einschränkungen in Jupyter Notebook nicht automatisiert werden.

Wenn Sie bei der Lernphase Probleme haben, können Sie Labby gerne fragen. Geben Sie nach der Sitzung Feedback, und wir werden das Problem für Sie prompt beheben.

Bibliotheken importieren und Daten generieren

Wir beginnen mit dem Importieren der erforderlichen Bibliotheken und der Generierung von Fakedaten.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.cbook as cbook

## Generate fake data
np.random.seed(19680801)
data = np.random.lognormal(size=(37, 4), mean=1.5, sigma=1.75)
labels = list('ABCD')

Boxplot-Statistiken berechnen

Die boxplot_stats()-Funktion aus dem matplotlib.cbook-Modul berechnet die für das Boxplot-Diagramm erforderlichen Statistiken. Wir übergeben die Daten und die Bezeichnungen als Parameter.

## Compute boxplot stats
stats = cbook.boxplot_stats(data, labels=labels, bootstrap=10000)

Boxplot-Statistiken anpassen

Wir können jede der im Schritt 2 berechneten Boxplot-Statistiken ändern. In diesem Beispiel setzen wir die Medianwerte jeder Gruppe auf den Median aller Daten und verdoppeln die Mittelwerte.

for n in range(len(stats)):
    stats[n]['med'] = np.median(data)
    stats[n]['mean'] *= 2

Ein einfaches Boxplot-Diagramm erstellen

Wir können ein einfaches Boxplot-Diagramm erstellen, indem wir die bxp()-Funktion aus Matplotlib aufrufen. Wir übergeben die berechneten Statistiken als Parameter.

## Create a basic boxplot
plt.bxp(stats)
plt.show()

Anzeige verschiedener Elemente umschalten

Wir können die Anzeige verschiedener Elemente des Boxplot-Diagramms mithilfe verschiedener Parameter in der bxp()-Funktion umschalten. In diesem Beispiel zeigen wir, wie der Mittelwert, die Box, die Kapfen, die Kerben und die Ausreißer angezeigt oder ausgeblendet werden können.

## Toggle the display of different elements
plt.bxp(stats, showmeans=True, showbox=False, showcaps=False, shownotches=True, showfliers=False)
plt.show()

Anzeige verschiedener Elemente anpassen

Wir können die Anzeige verschiedener Elemente des Boxplot-Diagramms mithilfe verschiedener Parameter in der bxp()-Funktion anpassen. In diesem Beispiel zeigen wir, wie die Box, der Median, die Ausreißer, der Mittelpunkt und die Mittellinie angepasst werden können.

## Customize the display of different elements
boxprops = dict(linestyle='--', linewidth=3, color='darkgoldenrod')
flierprops = dict(marker='o', markerfacecolor='green', markersize=12, linestyle='none')
medianprops = dict(linestyle='-.', linewidth=2.5, color='firebrick')
meanpointprops = dict(marker='D', markeredgecolor='black', markerfacecolor='firebrick')
meanlineprops = dict(linestyle='--', linewidth=2.5, color='purple')

plt.bxp(stats, boxprops=boxprops, flierprops=flierprops, medianprops=medianprops, meanprops=meanpointprops, meanline=True, showmeans=True)
plt.show()

Zusammenfassung

In diesem Tutorial haben wir gelernt, wie man mit der Matplotlib-Bibliothek in Python einen Boxplot erstellt und anpasst. Wir haben auch gelernt, wie man die Anzeige verschiedener Elemente umschaltet und deren Darstellung anpasst. Boxplots sind ein nützliches Werkzeug zur Visualisierung der Datenverteilung und zum Identifizieren von Ausreißern.