python - Mayavi 网格 - numpy 网格网格不显示

标签 python 3d numpy mesh mayavi

使用 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 的要求。

此外,在将 griddata 等 Matplotlib 函数与 Mayavi 结合使用时应该小心,因为它的结果假定 Matplotlib 的网格网格类型。 griddata 的第四个和第五个参数应该切换以适合 Mayavi。

关于python - Mayavi 网格 - numpy 网格网格不显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11834794/

相关文章:

Python 安装工具 : install pacakge dependencies from a local repository

matlab - 如何在二进制 3D 图像中找到簇?

python - 查找列表的索引,其中该列表是较大列表的一部分

python - 使用 python xlrd 从 Excel 单元格中获取公式

c - 如何编译 Cogl hello 示例

python - 如何在 Tensorflow 2 LSTM 训练中屏蔽多输出?

python - 优化非线性方程组 - 处理复数

python - 以矩阵形式将列表排列到numpy数组

Python Pandas 根据索引值创建列

3d - 你怎么写一个3d游戏?