Notiz
Klicken Sie hier , um den vollständigen Beispielcode herunterzuladen
Box-Plot vs. Violin-Plot-Vergleich #
Beachten Sie, dass Violinplots zwar eng mit den Boxplots von Tukey (1977) verwandt sind, aber nützliche Informationen wie die Verteilung der Probendaten (Dichtespur) hinzufügen.
Standardmäßig zeigen Boxplots Datenpunkte außerhalb von 1,5 * des Interquartilbereichs als Ausreißer über oder unter den Whiskers, während Violinplots den gesamten Bereich der Daten zeigen.
Eine gute allgemeine Referenz zu Boxplots und ihrer Geschichte finden Sie hier: http://vita.had.co.nz/papers/boxplots.pdf
Violinplots erfordern matplotlib >= 1.4.
Für weitere Informationen zu Geigenplots haben die scikit-learn-Dokumente einen großartigen Abschnitt: https://scikit-learn.org/stable/modules/density.html
import matplotlib.pyplot as plt
import numpy as np
fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(9, 4))
# Fixing random state for reproducibility
np.random.seed(19680801)
# generate some random test data
all_data = [np.random.normal(0, std, 100) for std in range(6, 10)]
# plot violin plot
axs[0].violinplot(all_data,
showmeans=False,
showmedians=True)
axs[0].set_title('Violin plot')
# plot box plot
axs[1].boxplot(all_data)
axs[1].set_title('Box plot')
# adding horizontal grid lines
for ax in axs:
ax.yaxis.grid(True)
ax.set_xticks([y + 1 for y in range(len(all_data))],
labels=['x1', 'x2', 'x3', 'x4'])
ax.set_xlabel('Four separate samples')
ax.set_ylabel('Observed values')
plt.show()
Verweise
In diesem Beispiel wird die Verwendung der folgenden Funktionen, Methoden, Klassen und Module gezeigt: