玩弄MayaVi,我无法使用以下代码显示网格。可能出了什么问题?
def visualize_surf(self):
times = self.retT[imin:imax]
nrows = (int)((times[(len(times)-1)] - times[0])/self.mod) + 1
x = []
for i in range(nrows):
x.append(self.matRetT[i][0] + self.mod * i)
y = []
for i in range(len(self.matRetT[0])):
y.append(self.matRetT[0][i])
y = y[:-1]
X,Y = np.meshgrid(x,y)
z = [tuple(self.mat[i]) for i in range(len(self.mat))]
Zzip = zip(*z)
Z = [list(x) for x in Zzip]
return mlab.mesh(Y,X,Z)
没有显示 ->这可能是我错过了像 IPython shell 中的 -wthread
这样的命令吗? 但是,据说模态默认处于打开状态。
X,Y,Z 具有相同的大小,没有警告或异常,MayaVi 场景 1 确实打开但仍然为空。
这可能是网格网格的问题,网格中所需的参数问题。但是通读文档,我找不到。
Matplotlib的"plot_surface"和Mayavi的"surf"遵循不同的逻辑。如Mayavi的文档所示,网格的结果应该被转置以满足Mayavi的要求。
此外,在将 Matplotlib 函数(如 griddata )与 Mayavi 结合使用时应该小心,因为它的结果假设 Matplotlib 的网格网格。 griddata 的第四个和第五个参数应该切换以适应 Mayavi。