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

如何将Matplotlib子图整体右移,增加X轴零点左侧空间?

实现Matplotlib子图非对称X轴边距

你可以通过给margins()方法传入元组参数分别设置X轴的左右边距,替代单一的对称边距值,这样就能在X轴零点左侧留出更多空间,同时保持右侧边距不变或按需调整。

因为你的子图设置了sharex=True,只需要对其中一个子图设置非对称边距,另一个会自动同步(也可以分别设置,效果一致)。

修改后的代码示例:

import matplotlib.pyplot as plt
x = [0, 1, 2, 3]
y = [1, 3, 4, 2]
fig, ax = plt.subplots(2, sharex=True)
ax[0].plot(x, y)
ax[1].plot(x, y)
# 传入元组(x左边距, x右边距),左边设为0.5,右边设为0.1,可按需调整数值
ax[0].margins(x=(0.5, 0.1))
plt.show()

如果需要更精确的控制,也可以手动设置X轴的显示范围:

# 获取当前X轴范围
x_min, x_max = ax[0].get_xlim()
# 向左扩展左边范围,比如在原有最小值基础上减去1,右边保持不变
ax[0].set_xlim(x_min - 1, x_max)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 04:08:18