Gráficos de superficie 3D
Dibuja superficies y mallas 3D con projection="3d", plot_surface y view_init.
Introducción
Algunos datos dependen de dos entradas, como una altura que depende de x y de y. Un Axes 3D, creado con projection="3d", puede dibujarlos como una superficie. view_init gira la cámara para verla desde el mejor ángulo.
np.meshgrid convierte los dos rangos 1D en las cuadrículas 2D X e Y, así Z se calcula para cada par (x, y) a la vez. plot_surface colorea la superficie con un mapa de color; plot_wireframe dibujaría solo la malla. view_init(elev, azim) coloca la cámara: elev es el ángulo de altura y azim gira alrededor del eje vertical.
Visualizador interactivo
Gira la cámara con elev y azim, cambia entre superficie y malla (wireframe) y prueba otras funciones.
Ejemplo de Matplotlib ejecutable
Matplotlib
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()
