Matplotlib für Profis

3D-Flächendiagramme

3D-Flächen und Gitter mit projection="3d", plot_surface und view_init zeichnen.

Einführung

Manche Daten hängen von zwei Eingaben ab, etwa eine Höhe, die von x und y abhängt. Eine 3D-Axes, erstellt mit projection="3d", kann sie als Fläche zeichnen. view_init dreht die Kamera, damit du sie aus dem besten Winkel siehst.

np.meshgrid macht aus den beiden 1D-Bereichen die 2D-Gitter X und Y, sodass Z für jedes Paar (x, y) auf einmal berechnet wird. plot_surface färbt die Fläche mit einer Farbskala; plot_wireframe würde nur die Gitterlinien zeichnen. view_init(elev, azim) setzt die Kamera: elev ist der Höhenwinkel, azim dreht um die senkrechte Achse.

Interaktive Visualisierung

Drehe die Kamera mit elev und azim, wechsle zwischen Fläche und Gitter (wireframe) und probiere andere Funktionen.

Ausführbares Matplotlib-Beispiel

Matplotlib
Code ausführen →
main.py
import matplotlib.pyplot as plt
import numpy as np

x = np.linspace(-3, 3, 40)
y = np.linspace(-3, 3, 40)
X, Y = np.meshgrid(x, y)
Z = np.sin(np.sqrt(X ** 2 + Y ** 2))

fig = plt.figure(figsize=(7, 5))
ax = fig.add_subplot(projection="3d")
ax.plot_surface(X, Y, Z, cmap="viridis")
ax.view_init(elev=30, azim=45)
ax.set_title("z = sin(sqrt(x² + y²))")
plt.show()
Run-Button für dieses Beispiel erstellen Das Diagramm, das dieser Code zeichnet
3D-Flächendiagramme