Einführung
Beim Datenvisualisierung kann es manchmal nützlich sein, Fehlerbalken zu zeichnen, um die Unsicherheit oder Variabilität der Daten zu zeigen. Wenn jedoch viele Datenpunkte ähnliche Fehler haben, kann der Plot unübersichtlich und schwer zu interpretieren werden. In solchen Fällen können wir die Fehlerbalken-Untersampling verwenden, mit dem wir Fehlerbalken nur für einen Teilsatz der Datenpunkte zeichnen können. In diesem Tutorial werden wir die errorbar-Funktion von Matplotlib verwenden, um zu zeigen, wie man Fehlerbalken-Untersampling auf unsere Daten anwendet.
VM-Tipps
Nachdem der VM-Start abgeschlossen ist, klicken Sie in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.
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
Zunächst müssen wir die erforderlichen Bibliotheken importieren und einige Beispiel-Daten generieren, mit denen wir arbeiten können. In diesem Beispiel werden wir numpy verwenden, um die Daten zu generieren, und matplotlib, um sie zu visualisieren.
import matplotlib.pyplot as plt
import numpy as np
## Beispiel-Daten
x = np.arange(0.1, 4, 0.1)
y1 = np.exp(-1.0 * x)
y2 = np.exp(-0.5 * x)
## Beispiel-Werte für variable Fehlerbalken
y1err = 0.1 + 0.1 * np.sqrt(x)
y2err = 0.1 + 0.1 * np.sqrt(x/2)
Alle Fehlerbalken plotten
Als nächstes werden wir alle Fehlerbalken mit der errorbar-Funktion ohne Unterprobenahme plotten. Dies wird als unsere Referenzgrafik dienen.
fig, ax = plt.subplots()
ax.set_title('Alle Fehlerbalken')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, label='y2')
ax.legend()
plt.show()
Jedes 6. Fehlerbalken unterproben
Lassen Sie uns nun die Fehlerbalken-Untersampling anwenden, um nur jedes 6. Fehlerbalken zu plotten. Wir können dies tun, indem wir das errorevery-Parameter der errorbar-Funktion verwenden.
fig, ax = plt.subplots()
ax.set_title('Jedes 6. Fehlerbalken')
ax.errorbar(x, y1, yerr=y1err, errorevery=6, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=6, label='y2')
ax.legend()
plt.show()
Zweite Reihe um 3 verschieben
In einigen Fällen möchten wir die Fehlerbalken-Untersampling auf verschiedene Teile unserer Daten anwenden. Wir können dies tun, indem wir ein Tupel für den errorevery-Parameter angeben. Beispielsweise wenden wir die Fehlerbalken-Untersampling auf die zweite Reihe an, verschieben sie jedoch um 3 Datenpunkte.
fig, ax = plt.subplots()
ax.set_title('Zweite Reihe um 3 verschoben')
ax.errorbar(x, y1, yerr=y1err, label='y1')
ax.errorbar(x, y2, yerr=y2err, errorevery=(3, 6), label='y2')
ax.legend()
plt.show()
Zusammenfassung
In diesem Tutorial haben wir gelernt, wie wir die Fehlerbalken-Untersampling auf unsere Daten mit der errorbar-Funktion von Matplotlib anwenden können. Indem wir den errorevery-Parameter verwenden, können wir selektiv nur Fehlerbalken auf einem Teilmengen von Datenpunkten plotten, was dazu beitragen kann, unsere Diagramme lesbarer und interpretierbarer zu machen.