Contour plot en la superficie de un cilindro 3D

Porquetu gran ayuda Ahora puedo trazar un cilindro 3D con un agujero en el interior :) Este es mi código:

import numpy as np
import matplotlib as mlp
import matplotlib.pyplot as plt
import mpl_toolkits.mplot3d.axes3d as axes3d


inner_radius = 100
outer_radius = 300
height=50

# input xy coordinates
input_xy = np.array([[ri,0],[ra,0],[ra,h],[ri,h],[ri,0]])
# radial component is x values of input
r = xy[:,0]
# angular component is one revolution of 30 steps
phi = np.linspace(0, 2*np.pi, 30)
# create grid
R,Phi = np.meshgrid(r,phi)
# transform to cartesian coordinates
X = R*np.cos(Phi)
Y = R*np.sin(Phi)
# Z values are y values, repeated 30 times
Z = np.tile(xy[:,1],len(Y)).reshape(Y.shape)


fig = plt.figure()
ax = fig.add_subplot(1, 1, 1, projection='3d')
#ax2 = fig.add_axes([0.05,0.7,0.15,.2])

#ax2.plot(xy[:,0],xy[:,1], color="k")
ax.set_zlim(0,200)
ax.plot_surface(X, Y, Z, alpha=0.5, color='lightgrey', rstride=1, cstride=1)



plt.show()

El siguiente paso muy importante para mí sería trazar en la superficie superior (o tal vez en 3d si es posible) una trama del contador. Debería verse así (también puede ser solo en 2d):Dibujo de contorn

Aplicado a mi trama se vería de alguna manera así:Contour plot en mi código de ejemplo

Encontré algo que se parece a mi problema Cómo trazar líneas de contorno en un diagrama de superficie pero desafortunadamente no entiendo el código. Atentamente

Update: Aquí hay un borrador de cómo imagino que debería verse así:Objetiv

Espero que alguien sepa cómo manejar este problema.

Respuestas a la pregunta(0)

Su respuesta a la pregunta