Matplotlib-Datenvisualisierung mit Python

Beginner

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

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.