Python: 矩阵形状与imshow()

0 投票
1 回答
1915 浏览
提问于 2025-04-16 03:16

我有一个三维数组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 就像是嵌套的列表。

撰写回答