Matplotlib avanzado

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
Ejecutar código →
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()
Obtén un botón Run para este ejemplo El gráfico que dibuja este código
Gráficos de superficie 3D