は私のfuctionです:はTypeError 'タイプ' オブジェクトが属性を持っていない以下の '__getitem__' 3Dプロットを描く
def draw3D(draw_tick, matrixArray):
print "Drawing tick = %d\n" % draw_tick
matrix = matrixArray[draw_tick - 450]
fig = plt.figure()
ax = fig.gca(projection='3d')
X = np.arange(-40, 40, 1)
Y = np.arange(-40, 40, 1)
X, Y = np.meshgrid(X, Y)
Z = np.matrix[Y+40][X+40]
surf = ax.plot_surface(X, Y, Z, rstride=1, cstride=1,cmap=cm.coolwarm,linewidth=0, antialiased=False)
ax.set_zlim(-1.01, 1.01)
ax.zaxis.set_major_locator(LinearLocator(10))
ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
fig.colorbar(surf, shrink=0.5, aspect=5)
plt.show()
plt.close()
私は変数x、y、zと3Dプロットを描きたいです。
TypeError: 'type' object has no attribute '__getitem__'
Zの行にこのエラーポイント:
Z = np.matrix[Y+40][X+40]
私は(行列の)その時点の値を格納したいZ
に誰も私がそれを解決するために助けることができますか?
ありがとうございました!
私の質問の更新: 私は81 * 81の何百もの行列を含むmatrixArrayを持っています。 私はその配列に1つの行列のプロットを描きたいと思います。 だから私は:
matrix= matrixArray[draw_tick - 450]
を特定すると宣言しました。次に、マトリックスの位置をX & Yとし、その位置の値をZとしたいと思います。しかし、私のXとYを-40から+40にしたいので、2軸に40を追加します。
'np.matrix'は、あなたがインデックスできない型オブジェクトです。何をしようとしていますか? –
私はZにその点の値を与えたいだけです。だから私はどうやって? –
'np.matrix'の代わりに' matrix'を使用しましたか? –