python axes.ravel() IndexError: too many indices for array
python axes.ravel() IndexError: too many indices for array
我正在尝试绘制 2*2 个图像。使用下面的代码。
fig, axes = plt.subplots(nrows=2, ncols=2)
ax = axes.ravel()
ax[0, 0].imshow(im1px, cmap='gray')
ax[0, 1].imshow(im2px, cmap='gray')
ax[1, 0].imshow(im3px, cmap='gray')
ax[1, 1].imshow(im3px, cmap='gray')
它会抛出这样的错误信息
'''
IndexError Traceback (most recent call last)
in
1 fig, axes = plt.subplots(nrows=2, ncols=2)
2 ax = axes.ravel()
----> 3 ax[0, 0].imshow(im1px, cmap='gray')
4 ax[0, 1].imshow(im2px, cmap='gray')
5 ax[1, 0].imshow(im3px, cmap='gray')
IndexError: too many indices for array
'''
请帮忙告知如何解决
为什么要使用 ravel
?
您收到错误是因为 ravel
展平了 2x2
,然后您使用的是二维索引。
>>> fig, axes = plt.subplots(nrows=2, ncols=2)
>>> axes.shape
(2, 2)
>>> axes.ravel().shape
(4,)
而是使用
axes[0,0]
、axes[0,1]
...等等
我正在尝试绘制 2*2 个图像。使用下面的代码。
fig, axes = plt.subplots(nrows=2, ncols=2)
ax = axes.ravel()
ax[0, 0].imshow(im1px, cmap='gray')
ax[0, 1].imshow(im2px, cmap='gray')
ax[1, 0].imshow(im3px, cmap='gray')
ax[1, 1].imshow(im3px, cmap='gray')
它会抛出这样的错误信息 '''
IndexError Traceback (most recent call last)
in
1 fig, axes = plt.subplots(nrows=2, ncols=2)
2 ax = axes.ravel()
----> 3 ax[0, 0].imshow(im1px, cmap='gray')
4 ax[0, 1].imshow(im2px, cmap='gray')
5 ax[1, 0].imshow(im3px, cmap='gray')
IndexError: too many indices for array
''' 请帮忙告知如何解决
为什么要使用 ravel
?
您收到错误是因为 ravel
展平了 2x2
,然后您使用的是二维索引。
>>> fig, axes = plt.subplots(nrows=2, ncols=2)
>>> axes.shape
(2, 2)
>>> axes.ravel().shape
(4,)
而是使用
axes[0,0]
、axes[0,1]
...等等