Gráfico de contorno na superfície de um cilindro 3D

Por causa desua grande ajuda Agora posso plotar um cilindro 3D com um furo dentro :) Este é o meu 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()

O próximo passo muito importante para mim seria traçar na superfície superior (ou talvez em 3d, se for possível) um gráfico de contadores. Deve ficar assim (também pode ser apenas em 2d):Gráfico de Contorno

Aplicado ao meu enredo, ficaria assim:Gráfico de contorno no meu código de exemplo

Encontrei algo parecido com o meu problemaComo plotar linhas de contorno em uma plotagem de superfície mas infelizmente não entendo o código. Cumprimentos !

Atualização: Aqui está um rascunho de como eu imagino que deve parecer:Alvo

Espero que alguém saiba como lidar com esse problema.

questionAnswers(0)

yourAnswerToTheQuestion