Python: 矩阵形状与imshow()
我有一个三维数组ar。
print shape(ar) # --> (81, 81, 256)
我想把这个数组画出来。
fig = plt.figure()
ax1 = fig.add_subplot(111)
for i in arange(256):
im1 = ax1.imshow(ar[:][:][i])
plt.draw()
print i
但是我收到了这个错误信息:
im1 = ax1.imshow(ar[:][:][i])
IndexError: list index out of range
为什么我会收到这个奇怪的信息?图的大小是81 x 256,而不是我预期的81 x 81。可是为什么会这样呢?
1 个回答
2
做法:
ar[:,:,i]
这里的语法 ar[:]
是用来复制 ar
的,也就是把它里面的所有元素都拿出来。所以 ar[:][:][i]
和 ar[i]
是一样的意思。这个 ar
是一个 81*256 的矩阵,因为 ndarrays 就像是嵌套的列表。