Separate calculation and plotting of boxplots#

Das Zeichnen eines boxplot für einen gegebenen Datensatz besteht aus zwei Hauptoperationen, die auch separat verwendet werden können

  1. Berechnung der Boxplot-Statistiken: matplotlib.cbook.boxplot_stats

  2. Zeichnen des Boxplots: matplotlib.axes.Axes.bxp

Somit ist ax.boxplot(data) äquivalent zu

Alle Styling-Schlüsselwortargumente sind zwischen boxplot und bxp identisch und werden von boxplot an bxp weitergeleitet. Der Parameter tick_labels von boxplot wird jedoch in einen generischen Parameter labels in boxplot_stats übersetzt, da die Labels datenbezogen sind und an die zurückgegebenen per-Datensatz-Wörterbücher angehängt werden.

Der folgende Code demonstriert die Äquivalenz zwischen den beiden Methoden.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib import cbook

np.random.seed(19680801)
data = np.random.randn(20, 3)

fig, (ax1, ax2) = plt.subplots(1, 2)

# single boxplot call
ax1.boxplot(data, tick_labels=['A', 'B', 'C'],
            patch_artist=True, boxprops={'facecolor': 'bisque'})

# separate calculation of statistics and plotting
stats = cbook.boxplot_stats(data, labels=['A', 'B', 'C'])
ax2.bxp(stats, patch_artist=True, boxprops={'facecolor': 'bisque'})
bxp

Die Verwendung der separaten Funktionen ermöglicht die Vorab-Berechnung von Statistiken, falls Sie diese explizit für andere Zwecke benötigen oder die Statistiken für mehrere Plots wiederverwenden möchten.

Umgekehrt können Sie auch die Funktion bxp direkt verwenden, wenn Sie bereits über die statistischen Parameter verfügen

fig, ax = plt.subplots()

stats = [
    dict(med=0, q1=-1, q3=1, whislo=-2, whishi=2, fliers=[-4, -3, 3, 4], label='A'),
    dict(med=0, q1=-2, q3=2, whislo=-3, whishi=3, fliers=[], label='B'),
    dict(med=0, q1=-3, q3=3, whislo=-4, whishi=4, fliers=[], label='C'),
]

ax.bxp(stats, patch_artist=True, boxprops={'facecolor': 'bisque'})

plt.show()
bxp

Tags: plot-type: speciality domain: statistics

Referenzen

Die Verwendung der folgenden Funktionen, Methoden, Klassen und Module wird in diesem Beispiel gezeigt

Galerie generiert von Sphinx-Gallery