Einführung
In diesem Lab verwenden wir die Matplotlib-Bibliothek von Python, um den Mittelwert (mu) und die Standardabweichung (sigma) von 100 Datensätzen zu berechnen und mu gegen sigma zu plotten. Wir fügen auch Interaktivität zum Plot hinzu, sodass wenn Sie auf einen der (mu, sigma)-Punkte klicken, die Rohdaten aus dem Datensatz, der diesen Punkt erzeugt hat, geplottet werden.
Tipps für die VM
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 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.
Zufällige Daten generieren
Zunächst müssen wir 100 zufällige Datensätze generieren, wobei jeder Datensatz 1000 Zufallszahlen zwischen 0 und 1 enthält. Wir werden das Zufallsmodul von numpy verwenden, um die zufälligen Daten zu generieren.
import numpy as np
np.random.seed(19680801)
X = np.random.rand(100, 1000)
Mittelwert und Standardabweichung berechnen
Als nächstes berechnen wir den Mittelwert und die Standardabweichung von jedem der 100 Datensätze. Wir verwenden die mean- und std-Funktionen von numpy, um diese Werte zu berechnen.
xs = np.mean(X, axis=1)
ys = np.std(X, axis=1)
Die Daten plotten
Jetzt werden wir mu gegen sigma mit dem pyplot-Modul von Matplotlib plotten. Wir werden einen Punktwolkenplot mit den berechneten Werten für mu und sigma erstellen. Wir fügen auch Interaktivität zum Plot hinzu, indem wir den picker-Parameter auf True setzen.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.set_title('click on point to plot time series')
line, = ax.plot(xs, ys, 'o', picker=True, pickradius=5)
Interaktivität hinzufügen
Wenn auf einen Punkt im Punktwolkenplot geklickt wird, möchten wir die Rohdaten aus dem Datensatz plotten, der diesen Punkt erzeugt hat. Wir definieren eine Funktion onpick, die aufgerufen wird, wenn auf einen Punkt geklickt wird. Die Funktion wird die Rohdaten plotten und den Mittelwert und die Standardabweichung für diesen Datensatz anzeigen.
def onpick(event):
if event.artist!= line:
return
N = len(event.ind)
if not N:
return
figi, axs = plt.subplots(N, squeeze=False)
for ax, dataind in zip(axs.flat, event.ind):
ax.plot(X[dataind])
ax.text(.05,.9, f'mu={xs[dataind]:1.3f}\nsigma={ys[dataind]:1.3f}',
transform=ax.transAxes, va='top')
ax.set_ylim(-0.5, 1.5)
figi.show()
fig.canvas.mpl_connect('pick_event', onpick)
Zeige den Plot an
Schließlich werden wir den Plot mit der show-Funktion anzeigen.
plt.show()
Zusammenfassung
In diesem Lab haben wir gelernt, wie man mit Matplotlib den Mittelwert und die Standardabweichung von 100 Datensätzen berechnet und mu gegen sigma plotten kann. Wir haben auch Interaktivität zum Plot hinzugefügt, sodass wenn auf einen Punkt geklickt wird, die Rohdaten aus dem Datensatz, der diesen Punkt erzeugt hat, angezeigt werden. Dieses Lab demonstriert die Stärke und Flexibilität von Matplotlib bei der Exploration und Visualisierung von Daten.