Graphiques de surface 3D
Tracez des surfaces et maillages 3D avec projection="3d", plot_surface et view_init.
Introduction
Certaines données dépendent de deux entrées, comme une hauteur qui dépend de x et de y. Un Axes 3D, créé avec projection="3d", peut les tracer comme une surface. view_init oriente la caméra pour la regarder sous le meilleur angle.
np.meshgrid transforme les deux plages 1D en grilles 2D X et Y, si bien que Z se calcule pour chaque couple (x, y) d'un coup. plot_surface colore la surface avec une palette ; plot_wireframe ne tracerait que le maillage. view_init(elev, azim) place la caméra : elev est l'angle de hauteur et azim tourne autour de l'axe vertical.
Visualiseur interactif
Tournez la caméra avec elev et azim, passez de la surface au maillage (wireframe) et essayez d'autres fonctions.
Exemple Matplotlib exécutable
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()
