Erstellen von Matplotlib PathPatch-Objekten

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

Matplotlib ist eine Python-Bibliothek, die es dem Benutzer ermöglicht, verschiedene Arten von Diagrammen und Grafiken zu erstellen. Es wird bei der Datenvisualisierung und der Datenanalyse verwendet. In diesem Lab werden wir lernen, wie man ein PathPatch-Objekt mit der API von Matplotlib erstellt.

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 ab, und wir werden das Problem für Sie prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) python(("Python")) -.-> python/FunctionsGroup(["Functions"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/FunctionsGroup -.-> python/build_in_functions("Build-in Functions") matplotlib/PlotCustomizationGroup -.-> matplotlib/grid_config("Grid Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} matplotlib/figures_axes -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} matplotlib/line_plots -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} python/lists -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} python/tuples -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} python/build_in_functions -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} matplotlib/grid_config -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} python/importing_modules -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} python/data_visualization -.-> lab-48854{{"Erstellen von Matplotlib PathPatch-Objekten"}} end

Bibliotheken importieren

Wir müssen die erforderlichen Bibliotheken für dieses Lab importieren.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches
import matplotlib.path as mpath

Pfad-Daten definieren

Wir definieren in diesem Schritt die Pfad-Daten. Pfad-Daten sind eine Sequenz von Tupeln, die die Eckpunkte und Codes des Pfads angeben. Wir verwenden die mpath.Path-Klasse, um aus diesen Daten ein Path-Objekt zu erstellen.

Path = mpath.Path
path_data = [
    (Path.MOVETO, (1.58, -2.57)),
    (Path.CURVE4, (0.35, -1.1)),
    (Path.CURVE4, (-1.75, 2.0)),
    (Path.CURVE4, (0.375, 2.0)),
    (Path.LINETO, (0.85, 1.15)),
    (Path.CURVE4, (2.2, 3.2)),
    (Path.CURVE4, (3, 0.05)),
    (Path.CURVE4, (2.0, -0.5)),
    (Path.CLOSEPOLY, (1.58, -2.57)),
    ]
codes, verts = zip(*path_data)
path = mpath.Path(verts, codes)

PathPatch-Objekt erstellen

In diesem Schritt erstellen wir ein PathPatch-Objekt mit dem Pfad-Objekt, das wir im vorherigen Schritt erstellt haben. Dieses Objekt wird verwendet, um die von dem Pfad eingeschlossene Fläche zu füllen. Wir können auch die Farbe und die Transparenz des Patches festlegen.

patch = mpatches.PathPatch(path, facecolor='r', alpha=0.5)

PathPatch zum Plot hinzufügen

Jetzt fügen wir das Patch-Objekt zum Plot hinzu, indem wir die add_patch-Methode des Achsenobjekts verwenden.

fig, ax = plt.subplots()
ax.add_patch(patch)

Kontrollpunkte und Verbindungslinien plotten

In diesem Schritt plotten wir die Kontrollpunkte und die Verbindungslinien des Pfads mit der plot-Methode des Achsenobjekts.

x, y = zip(*path.vertices)
line, = ax.plot(x, y, 'go-')

Plot anpassen

Schließlich passen wir den Plot an, indem wir ein Gitter hinzufügen und die Achsen anpassen.

ax.grid()
ax.axis('equal')
plt.show()

Zusammenfassung

In diesem Lab haben wir gelernt, wie man ein PathPatch-Objekt mit der API von Matplotlib erstellt. Wir haben die Pfaddaten definiert, ein Path-Objekt erstellt und es verwendet, um ein PathPatch-Objekt zu erstellen, das wir zum Plot hinzugefügt haben. Wir haben auch die Kontrollpunkte und die Verbindungslinien des Pfads geplottet und den Plot durch Hinzufügen eines Gitters und Anpassen der Achsen angepasst.