Matplotlib 3D Quiver-Plot

Beginner

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

Einführung

In diesem Lab lernst du, wie du mithilfe von Python Matplotlib einen 3D-Quiver-Plot erstellst. Ein Quiver-Plot zeigt ein Vektorfeld als Pfeile an. Die Pfeile weisen in die Richtung der Vektoren, und ihre Länge repräsentiert die Größe der Vektoren.

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 nutzen.

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.

Bibliotheken importieren und Plot einrichten

Der erste Schritt besteht darin, die erforderlichen Bibliotheken zu importieren und den Plot einzurichten. In diesem Beispiel verwenden wir das pyplot-Modul von Matplotlib und dessen 3d-Toolkit, um den 3D-Plot zu erstellen.

import matplotlib.pyplot as plt
import numpy as np

ax = plt.figure().add_subplot(projection='3d')

Das Gitter erstellen

Als nächstes erstellen wir ein Gitter von Punkten, auf dem wir das Vektorfeld anzeigen werden. In diesem Beispiel erstellen wir ein Gitter von Punkten mit der meshgrid-Funktion von NumPy. Die arange-Funktion wird verwendet, um ein Array von gleichmäßig verteilten Punkten innerhalb eines angegebenen Intervalls zu erstellen.

x, y, z = np.meshgrid(np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.2),
                      np.arange(-0.8, 1, 0.8))

Die Richtung der Pfeile definieren

Jetzt definieren wir die Richtung der Pfeile. In diesem Beispiel definieren wir die Richtung der Pfeile mit Hilfe der trigonometrischen Funktionen von NumPy. Die sin- und cos-Funktionen werden verwendet, um die u, v und w-Arrays zu erstellen, die die Richtung der Pfeile in den x, y und z-Richtungen repräsentieren.

u = np.sin(np.pi * x) * np.cos(np.pi * y) * np.cos(np.pi * z)
v = -np.cos(np.pi * x) * np.sin(np.pi * y) * np.cos(np.pi * z)
w = (np.sqrt(2.0 / 3.0) * np.cos(np.pi * x) * np.cos(np.pi * y) *
     np.sin(np.pi * z))

Den Quiver-Plot erstellen

Mit dem definierten Gitter und der Richtung der Pfeile können wir den Quiver-Plot erstellen. In diesem Beispiel verwenden wir die quiver-Funktion von Matplotlib, um den Plot zu erstellen. Der length-Parameter setzt die Länge der Pfeile, und der normalize-Parameter normiert die Pfeile auf eine Länge von 1.

ax.quiver(x, y, z, u, v, w, length=0.1, normalize=True)

Den Plot anzeigen

Schließlich werden wir den Plot mit der show-Funktion von Matplotlib anzeigen.

plt.show()

Zusammenfassung

In diesem Lab haben Sie gelernt, wie man einen 3D-Quiver-Plot mit Python Matplotlib erstellt. Die meshgrid-Funktion wurde verwendet, um ein Gitter von Punkten zu erstellen, und die trigonometrischen Funktionen von NumPy wurden verwendet, um die Richtung der Pfeile zu definieren. Die quiver-Funktion wurde dann verwendet, um den Plot zu erstellen, und die show-Funktion wurde verwendet, um ihn anzuzeigen.