Einführung
Dieses Labor ist dazu gedacht, Ihnen die Grundlagen der Datenvisualisierung mit Matplotlib vorzustellen. Matplotlib ist eine beliebte Datenvisualisierungsbibliothek für Python, die eine Vielzahl von Optionen zum Erstellen von Diagrammen, Graphen und Tabellen bietet.
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.
Einrichtung
Bevor wir beginnen, müssen wir sicherstellen, dass Matplotlib installiert ist. Sie können es mit pip installieren, indem Sie den folgenden Befehl ausführen:
!pip install matplotlib
Nach der Installation müssen wir die Bibliothek importieren und die Umgebung einrichten:
import matplotlib.pyplot as plt
import numpy as np
## Fixing random state for reproducibility
np.random.seed(19680801)
## Create new Figure with black background
fig = plt.figure(figsize=(8, 8), facecolor='black')
## Add a subplot with no frame
ax = plt.subplot(frameon=False)
Zufällige Daten generieren
In diesem Schritt werden wir zufällige Daten generieren, die wir verwenden werden, um unser Diagramm zu erstellen.
## Generate random data
data = np.random.uniform(0, 1, (64, 75))
X = np.linspace(-1, 1, data.shape[-1])
G = 1.5 * np.exp(-4 * X ** 2)
Linienplots erstellen
Wir werden Linienplots mit den zufälligen Daten erstellen, die wir im vorherigen Schritt generiert haben.
## Generate line plots
lines = []
for i in range(len(data)):
## Small reduction of the X extents to get a cheap perspective effect
xscale = 1 - i / 200.
## Same for linewidth (thicker strokes on bottom)
lw = 1.5 - i / 100.0
line, = ax.plot(xscale * X, i + G * data[i], color="w", lw=lw)
lines.append(line)
Grenzen festlegen und Markierungen entfernen
In diesem Schritt werden wir die y-Grenze festlegen und die Markierungen aus dem Diagramm entfernen.
## Set y limit (or first line is cropped because of thickness)
ax.set_ylim(-1, 70)
## No ticks
ax.set_xticks([])
ax.set_yticks([])
Titel hinzufügen
Wir werden unserem Diagramm einen Titel hinzufügen.
## 2 part titles to get different font weights
ax.text(0.5, 1.0, "MATPLOTLIB ", transform=ax.transAxes,
ha="right", va="bottom", color="w",
family="sans-serif", fontweight="light", fontsize=16)
ax.text(0.5, 1.0, "UNCHAINED", transform=ax.transAxes,
ha="left", va="bottom", color="w",
family="sans-serif", fontweight="bold", fontsize=16)
Das Diagramm animieren
Wir werden nun das Diagramm animieren, indem wir die Daten nach rechts verschieben und neue Werte einfüllen.
import matplotlib.animation as animation
def update(*args):
## Shift all data to the right
data[:, 1:] = data[:, :-1]
## Fill-in new values
data[:, 0] = np.random.uniform(0, 1, len(data))
## Update data
for i in range(len(data)):
lines[i].set_ydata(i + G * data[i])
## Return modified artists
return lines
## Construct the animation, using the update function as the animation director.
anim = animation.FuncAnimation(fig, update, interval=10, save_count=100)
plt.show()
Zusammenfassung
In diesem Lab haben wir die Grundlagen der Datenvisualisierung mit Matplotlib gelernt. Wir haben zufällige Daten generiert, Linienplots erstellt, Grenzen festgelegt und Markierungen entfernt, einen Titel hinzugefügt und das Diagramm animiert. Dies sind nur die Grundlagen, und Matplotlib bietet viele weitere Optionen zur Anpassung und Verbesserung Ihrer Visualisierungen.