matplotlib subplots - 数组的索引太多了

时间:2018-04-13 03:49:10

标签: python matplotlib

我对plt.subplots的工作方式很困惑

此代码段有效 - 显示2 x 2布局

fig, axs = plt.subplots(2,2, figsize=(20, 10))
axs[0,0].set_title('Sobel')
axs[0,0].imshow(sobelx)
axs[0,1].set_title('S Channel')
axs[0,1].imshow(s_channel)
axs[1,0].set_title('Combined Binary')
axs[1,0].imshow(combined_binary)
axs[1,1].set_title('Color Stack')
axs[1,1].imshow(color_stack)

此代码段不起作用 - 1 by 2 Layout

fig, axs = plt.subplots(1,2, figsize=(20, 10))
axs[0,0].set_title('Undistorted Image')
axs[0,0].imshow(undistort_img)
axs[0,1].set_title('Warped Image')
axs[0,1].imshow(warped_img)

这与IndexError: too many indices for array

错误

当我打印斧头形状时,在第一种情况下为(2, 2),在第二种情况下为(2,)。这是什么斧头?我如何使第二段代码工作?

1 个答案:

答案 0 :(得分:15)

你的第二个图基本上是一维数组。尝试没有第二个坐标的代码。

fig, axs = plt.subplots(1,2, figsize=(20, 10))
axs[0].set_title('Undistorted Image')
axs[0].imshow(undistort_img)
axs[1].set_title('Warped Image')
axs[1].imshow(warped_img)