Matplotlib Pfadeffekte Tutorial

PythonPythonBeginner
Jetzt üben

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

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernst du, wie du Pfadeffekte in Matplotlib verwendest, um deinen Graphen spezielle Effekte hinzuzufügen. Pfadeffekte ermöglichen es dir, benutzerdefinierte Umrisse, Schatten und andere visuelle Effekte zu deinem Text und Graphenelementen hinzuzufügen.

Tipps für die VM

Nachdem der VM-Start abgeschlossen ist, klicke in der oberen linken Ecke, um zur Registerkarte Notebook zu wechseln und Jupyter Notebook für die Übung zu öffnen.

Manchmal musst du 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 du während des Lernens Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.

Bibliotheken importieren und Daten vorbereiten

Zunächst müssen wir die erforderlichen Bibliotheken importieren und einige Daten zum Plotten vorbereiten.

import matplotlib.pyplot as plt
import numpy as np

## Prepare data
arr = np.arange(25).reshape((5, 5))

Strich-Effekt zum Text hinzufügen

Wir können einen Strich-Effekt zum Text hinzufügen, indem wir den withStroke-Pfadeffekt verwenden. In diesem Beispiel werden wir einen Strich-Effekt zum Text-Annotation im Graphen hinzufügen.

## Create plot and add text annotation with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
txt = ax.annotate("test", (1., 1.), (0., 0),
                   arrowprops=dict(arrowstyle="->",
                                   connectionstyle="angle3", lw=2),
                   size=20, ha="center",
                   path_effects=[patheffects.withStroke(linewidth=3,
                                                        foreground="w")])
txt.arrow_patch.set_path_effects([
    patheffects.Stroke(linewidth=5, foreground="w"),
    patheffects.Normal()])

## Add grid with stroke effect
pe = [patheffects.withStroke(linewidth=3,
                             foreground="w")]
ax.grid(True, linestyle="-", path_effects=pe)

plt.show()

Strich-Effekt zu Konturlinien hinzufügen

Wir können auch Strich-Effekte zu Konturlinien und ihren Beschriftungen hinzufügen, indem wir den withStroke-Pfadeffekt verwenden.

## Create plot and add contour lines with stroke effect
fig, ax = plt.subplots()
ax.imshow(arr)
cntr = ax.contour(arr, colors="k")

plt.setp(cntr.collections, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

clbls = ax.clabel(cntr, fmt="%2.0f", use_clabeltext=True)
plt.setp(clbls, path_effects=[
    patheffects.withStroke(linewidth=3, foreground="w")])

plt.show()

Schatten-Effekt zur Legende hinzufügen

Wir können einen Schatten-Effekt zu einer Legende hinzufügen, indem wir den withSimplePatchShadow-Pfadeffekt verwenden.

## Create plot and add shadow effect to legend
fig, ax = plt.subplots()
p1, = ax.plot([0, 1], [0, 1])
leg = ax.legend([p1], ["Line 1"], fancybox=True, loc='upper left')
leg.legendPatch.set_path_effects([patheffects.withSimplePatchShadow()])

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Pfadeffekte in Matplotlib verwenden, um spezielle Effekte zu Ihren Graphen hinzuzufügen. Sie haben gelernt, wie Sie Strich-Effekte zu Text, Konturlinien und ihren Beschriftungen hinzufügen, sowie wie Sie einen Schatten-Effekt zu einer Legende hinzufügen. Mit Pfadeffekten können Sie visuell beeindruckende Graphen erstellen, die Ihre Daten auf eine klare und prägnante Weise vermitteln.