Matplotlib-Datenvisualisierung

Beginner

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

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.