You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Jupyter Notebook中调整Matplotlib绘图尺寸匹配色条高度

解决Matplotlib图片和色条高度对齐的问题

用默认subplot加色条的方式,会因为色条占用额外空间导致图片高度被压缩,和色条对不齐。可以用mpl_toolkits.axes_grid1里的make_axes_locatable工具,自动给每个图生成高度匹配的色条,完美解决这个问题。

修改后的可运行代码

import matplotlib.pyplot as plt
from mpl_toolkits.axes_grid1 import make_axes_locatable

# 创建1行2列的子图,figsize可根据需求调整
fig, (ax1, ax2) = plt.subplots(1, 2, figsize=(10, 5))

# 处理第一张图
im1 = ax1.imshow(train_images[0])
# 分割轴,准备添加色条
divider1 = make_axes_locatable(ax1)
# 在图右侧添加色条轴,size控制色条宽度,pad控制与原图的间距
cax1 = divider1.append_axes("right", size="5%", pad=0.05)
# 指定色条绑定到新建的轴,保证高度与原图一致
fig.colorbar(im1, cax=cax1)

# 处理第二张图,步骤同上
im2 = ax2.imshow(train_images_prep[0])
divider2 = make_axes_locatable(ax2)
cax2 = divider2.append_axes("right", size="5%", pad=0.05)
fig.colorbar(im2, cax=cax2)

# 自动调整布局,避免元素重叠
plt.tight_layout()
plt.show()

关键说明

  • make_axes_locatable会把当前图像轴拆分成可扩展区域,让新增的色条轴严格对齐原图高度。
  • 放弃默认的plt.colorbar()调用,改用指定cax参数绑定到专门的色条轴,就能确保两者高度完全匹配。

内容的提问来源于stack exchange,提问作者user18087147

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 23:30:01