我对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,)
。这是什么斧头?我如何使第二段代码工作?
答案 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)