以下は私の機能です:
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 を追加しています。 .