如何使用subplot实现两幅Matplotlib绘图并排显示?
用Matplotlib Subplot实现两幅图像并排展示
直接修改你的代码,采用1行2列的子图布局就能实现并排展示,以下是适配循环场景的完整代码示例:
# 调整画布尺寸,宽度设为原来的2倍(比如60,30),保证两个图都有足够显示空间 plt.figure(figsize=(60, 30)) # 绘制第一幅图(左子图) plt.subplot(1, 2, 1) plt.title('Clean Image') plt.imshow(clean_crop, cmap="gray") plt.plot(clean_lr, clean_ub, 'gx', markersize=40, markeredgewidth=5) # 绘制第二幅图(右子图),替换成你实际的第二幅图变量即可 plt.subplot(1, 2, 2) plt.title('Second Image') # 改成你需要的标题 plt.imshow(second_crop, cmap="gray") # second_crop替换为你的第二幅图数组 plt.plot(second_lr, second_ub, 'gx', markersize=40, markeredgewidth=5) # 替换为第二幅图的高亮坐标 # 保存整个并排的图像 plt.savefig(f"aligned_cropped_img/FCN_false_neg/Img # {i} G_cord {false_neg[i]}.jpeg", dpi=100, bbox_inches='tight', pad_inches=0) plt.clf()
关键说明:
plt.subplot(1,2,1)表示创建1行2列的子图布局,当前操作的是第1个位置的子图;plt.subplot(1,2,2)则切换到第2个位置的子图- 画布尺寸要对应调整,避免两个图挤在一起
- 所有针对某张子图的绘图操作(title、imshow、plot)都要放在对应的
plt.subplot()调用之后 - 保存时直接调用
plt.savefig(),会把整个包含两个子图的画布保存下来
内容的提问来源于stack exchange,提问作者EmployMay
相关产品推荐
相关产品推荐

