我有一个三维数组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.但为什么呢?
答案 0 :(得分:2)
执行:
ar[:,:,i]
语法ar[:]
复制ar
(对其所有元素进行切片),因此ar[:][:][i]
在语义上等同于ar[i]
。这是一个81 * 256矩阵,因为ndarrays是嵌套列表。