Mayavi mesh numpy meshgrid无显示

2024-09-27 21:28:07 发布

您现在位置:Python中文网/ 问答频道 /正文

玩MayaVi,我不能用下面的代码显示mesh。怎么了?在

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) 

没有显示->;这可能是因为我错过了ipythonshell中的-wthread之类的命令吗?然而,情态是默认打开的。在

X,Y,Z大小相同,没有警告或异常,MayaVi场景1确实打开,但仍为空。在

这可能是meshgrid的一个问题,一个需要在mesh中使用参数的问题。不管怎么看医生,我都查不出来。在


Tags: inselfmodforlenrangemayavitimes
1条回答
网友
1楼 · 发布于 2024-09-27 21:28:07

Matplotlib的“plot_surface”和Mayavi的“surf”遵循不同的逻辑。 如Mayavi的文档所示,meshgrid的结果应该被转换以满足Mayavi的要求。在

另外,在使用Matplotlib函数(比如griddata和Mayavi)时应该小心,因为它的结果假设Matplotlib是类似meshgrid的。griddata的第四个和第五个参数应该切换以适应Mayavi。在

相关问题 更多 >

    热门问题