Anpassbare 3D-Flächenplots erstellen

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 mithilfe der Matplotlib-Bibliothek in Python einen gefüllten dreidimensionalen Konturplot in Form eines Dreiecks erstellst. Der Plot wird mit unstrukturierten Dreiecksnetzen und einer benutzerdefinierten Triangulation erstellt. Du wirst in der Lage sein, den Blickwinkel und die Farbskala des Plots zu steuern.

Tipps für die VM

Nachdem der Start der VM 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 der Einschränkungen von Jupyter Notebook nicht automatisiert werden.

Wenn du bei der Lernphase Probleme hast, kannst du Labby gerne fragen. Gib nach der Sitzung Feedback, und wir werden das Problem für dich prompt beheben.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/BasicConceptsGroup(["Basic Concepts"]) python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") python/BasicConceptsGroup -.-> python/booleans("Booleans") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} matplotlib/figures_axes -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/booleans -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/lists -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/tuples -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/importing_modules -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/numerical_computing -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} python/data_visualization -.-> lab-49006{{"Anpassbare 3D-Flächenplots erstellen"}} end

Bibliotheken importieren

Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren. In diesem Fall benötigen wir Matplotlib, Numpy und Matplotlib Tri.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.tri as tri

Koordinaten erstellen

Als nächstes werden wir die x-, y- und z-Koordinaten der Punkte erstellen. Wir werden das Gitter in Polarkoordinaten erstellen und x, y, z berechnen.

n_angles = 48
n_radii = 8
min_radius = 0.25

radii = np.linspace(min_radius, 0.95, n_radii)
angles = np.linspace(0, 2*np.pi, n_angles, endpoint=False)
angles = np.repeat(angles[..., np.newaxis], n_radii, axis=1)
angles[:, 1::2] += np.pi/n_angles

x = (radii*np.cos(angles)).flatten()
y = (radii*np.sin(angles)).flatten()
z = (np.cos(radii)*np.cos(3*angles)).flatten()

Einen benutzerdefinierten Triangulationsvorgang erstellen

In diesem Schritt werden wir einen benutzerdefinierten Triangulationsvorgang erstellen und unerwünschte Dreiecke ausblenden.

triang = tri.Triangulation(x, y)
triang.set_mask(np.hypot(x[triang.triangles].mean(axis=1),
                         y[triang.triangles].mean(axis=1))
                < min_radius)

Den Plot erstellen

Jetzt werden wir den Plot mit der Funktion tricontourf() erstellen und den Blickwinkel anpassen.

ax = plt.figure().add_subplot(projection='3d')
ax.tricontourf(triang, z, cmap=plt.cm.CMRmap)
ax.view_init(elev=45.)

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie mit Matplotlib in Python einen gefüllten dreidimensionalen Triangulationsflächenplot erstellen. Sie haben gelernt, wie Sie die Koordinaten erstellen, eine benutzerdefinierte Triangulation erstellen und den Blickwinkel und die Farbkarte des Plots anpassen.