1

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) 

表示がありません->これは-wthread、IPythonシェルのようなコマンドを見逃した可能性がありますか?ただし、モダリティはデフォルトでオンになっていると言われています。

X、Y、Zのサイズは同じで、警告や例外はありません。MayaViシーン1は開きますが、空のままです。

これは、メッシュグリッドの問題、メッシュで望ましい引数の問題である可能性があります。しかし、ドキュメントを読んでもわかりません。

4

1 に答える 1

1

Matplotlib の「plot_surface」と Mayavi の「surf」は異なるロジックに従います。Mayavi のドキュメントに示されているように、meshgrid の結果は、Mayavi の要件に合わせて転置する必要があります。

また、グリッドデータのような Matplotlib 関数を Mayavi と組み合わせて使用​​する場合は注意が必要です。その結果は、Matplotlib の種類のメッシュグリッドを想定しているためです。griddata の 4 番目と 5 番目の引数は、Mayavi に合わせて切り替える必要があります。

于 2013-07-09T19:03:09.923 に答える