python axes.ravel()IndexError:数组的索引过多

我正在尝试绘制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,1].imshow(im3px,cmap='gray')

它会抛出这样的错误消息 '''

    IndexError                                Traceback (most recent call last)
    in 
      1 fig,ncols=2)
      2 ax = axes.ravel()
----> 3 ax[0,cmap='gray')
      4 ax[0,cmap='gray')
      5 ax[1,cmap='gray')

    IndexError: too many indices for array

''' 请帮助说明如何解决

proxool 回答:python axes.ravel()IndexError:数组的索引过多

您为什么要使用ravel

由于ravel使2x2变平,然后使用2d索引,因此出现错误。

>>> fig,axes = plt.subplots(nrows=2,ncols=2)
>>> axes.shape
(2,2)
>>> axes.ravel().shape
(4,)

相反,只需使用

axes[0,0]axes[0,1] ...等

本文链接:https://www.f2er.com/2901090.html

大家都在问