Matplotlib - Gráfico de contorno 3D

los ax.contour3D()La función crea un gráfico de contorno tridimensional. Requiere que todos los datos de entrada estén en forma de cuadrículas regulares bidimensionales, con los datos Z evaluados en cada punto. Aquí, mostraremos un diagrama de contorno tridimensional de una función sinusoidal tridimensional.

from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
def f(x, y):
   return np.sin(np.sqrt(x ** 2 + y ** 2))
	
x = np.linspace(-6, 6, 30)
y = np.linspace(-6, 6, 30)

X, Y = np.meshgrid(x, y)
Z = f(X, Y)

fig = plt.figure()
ax = plt.axes(projection='3d')
ax.contour3D(X, Y, Z, 50, cmap='binary')
ax.set_xlabel('x')
ax.set_ylabel('y')
ax.set_zlabel('z')
ax.set_title('3D contour')
plt.show()