Superficies

Una vez creado el conjunto de ejes 3D, mostrar una superficie tridimensional en estos ejes es relativamente sencillo usando el método del conjunto de ejes plot_surface. Este método recibe como argumentos de entrada arrays 2D con los valores x, y y z de la misma manera que vimos para la función contour. Por ejemplo, partamos del siguiente conjunto de puntos:

X = np.arange(-10, 10, 0.25)
Y = np.arange(-10, 10, 0.25)
X, Y = np.meshgrid(X, Y)
Z = np.sin(np.sqrt(X**2 + Y**2))

Ahora (suponiendo que hayamos importado el objeto Axes3D), no queda más que crear la figura, el conjunto de ejes y ejecutar el método plot_surface. En el ejemplo de la siguiente figura, hemos asignado a la gráfica un mapa de color y creado una barra de color:

Superficies en 3D

En el próximo ejemplo, simplemente cambiamos la función que genera el array Z y el mapa de color:

def f(x, y):
    return np.sin(-x) ** 2 + np.cos(5 - x * y) - x

X = np.arange(-5, 5, 0.05)
Y = np.arange(-5, 5, 0.05)
X, Y = np.meshgrid(X, Y)
Z = f(X, Y)

Superficies en 3D