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
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()
