我目前正在以以下方式用for循环连续绘制3个子图:
for i in range(3):
fig, (ax1, ax2, ax3 , ax4) = plt.subplots(figsize=(20, 5), ncols=4)
ax1.set_title('test 1')
ax1.imshow(test_1)
ax2.set_title('test 2')
ax2.imshow(test_2[i])
ax3.set_title('test 3')
ax3.imshow(test_3[i])
ax4.set_title('test 4')
ax4.imshow(test_4[i])
plt.show()
[当前正在并排绘制三个带有3个图像的子图,其中test_1始终是同一图形(因为它没有任何索引),而其他3个图像却改变了。
[我想要的是相同的情节,但是在一个独特的面板中,所以技术上要有4(列)x 3(行)
也许由子图构成的图的想法不正确。任何建议都将非常有帮助。谢谢!
我已经解决了这个问题,并且有效:
plt.figure(figsize=(20,15))
num_cols = 4
num_class = 3
for i in range(num_class):
plt.subplot(num_class,num_cols,i*num_cols+1)
plt.imshow(test_1)
plt.subplot(num_class,num_cols,i*num_cols+2)
plt.imshow(test_2[i])
plt.subplot(num_class,num_cols,i*num_cols+3)
plt.imshow(test_3[i])
plt.subplot(num_class,num_cols,i*num_cols+4)
plt.imshow(test_4[i])
plt.tight_layout()
plt.savefig("prova", dpi = 600)
并且在一张图像中给了我正确的输出