3D-Oberflächenplots mit Matplotlib erstellen

Beginner

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

Einführung

In diesem Lab wird gezeigt, wie man mit Matplotlib in Python einen 3D-Oberflächenplot erstellt. Die Oberfläche wird mit einer einfarbigen Darstellung gezeichnet. Das Lab führt Sie durch jeden Schritt des Prozesses, einschließlich der Erstellung der Daten, des Zeichnens der Oberfläche und der Einstellung des Seitenverhältnisses.

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.

Importieren der erforderlichen Bibliotheken

Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren. In diesem Lab verwenden wir die Bibliotheken Matplotlib und NumPy.

import matplotlib.pyplot as plt
import numpy as np

Daten erstellen

Als nächster Schritt müssen wir die Daten für die 3D-Oberfläche erstellen. Dazu definieren wir u, v, x, y und z. Diese Variablen werden die Winkel und Koordinaten repräsentieren, die zur Darstellung der Oberfläche erforderlich sind. Die linspace()-Funktion aus NumPy wird verwendet, um die Winkel zu erstellen, und die outer()-Funktion wird verwendet, um die Koordinaten zu erstellen.

## Make data
u = np.linspace(0, 2 * np.pi, 100)
v = np.linspace(0, np.pi, 100)
x = 10 * np.outer(np.cos(u), np.sin(v))
y = 10 * np.outer(np.sin(u), np.sin(v))
z = 10 * np.outer(np.ones(np.size(u)), np.cos(v))

Erstellen des 3D-Oberflächenplots

Jetzt können wir den 3D-Oberflächenplot erstellen. Wir beginnen damit, eine Figur zu erstellen und ein Subplot hinzuzufügen, indem wir das Argument projection='3d' verwenden. Anschließend verwenden wir die plot_surface()-Funktion, um die Oberfläche mit den Daten zu zeichnen, die wir im vorherigen Schritt erstellt haben.

## Plot the surface
fig = plt.figure()
ax = fig.add_subplot(projection='3d')
ax.plot_surface(x, y, z)

Einstellung des Seitenverhältnisses

Um sicherzustellen, dass der Plot ein gleichmäßiges Seitenverhältnis hat, können wir die set_aspect()-Funktion verwenden. Wir übergeben den String-Wert 'equal', um das Seitenverhältnis auf 1:1 einzustellen.

## Set an equal aspect ratio
ax.set_aspect('equal')

Zusammenfassung

In diesem Lab wurde gezeigt, wie man mit Matplotlib in Python einen 3D-Oberflächenplot erstellt. Wir haben die Daten erstellt, die Oberfläche geplottet und das Seitenverhältnis eingestellt. Das resultierende Diagramm ist ein einfacher 3D-Oberflächenplot mit einer einfarbigen Fläche.