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

如何在Matplotlib中限制轴范围,截断超出等值线范围的折线?

解决Matplotlib折线超出轴范围的显示问题

要让折线仅显示X、Y对应的轴范围,无需修改A、B数组,只需两步操作:

  1. 获取X、Y数组的数值范围,将其设为坐标轴的显示边界
  2. 确保折线开启裁剪功能(Matplotlib默认开启,显式声明更稳妥)

修改后的代码如下:

figure, (ax1, ax3, ax4) = plt.subplots(3)

ax1.set_yscale("linear")
ax1.set_xscale("linear")

# 获取X、Y的数值范围,锁定坐标轴显示边界
x_min, x_max = X.min(), X.max()
y_min, y_max = Y.min(), Y.max()
ax1.set_xlim(x_min, x_max)
ax1.set_ylim(y_min, y_max)

# 绘制折线时开启裁剪,超出轴范围的部分会自动隐藏
ax1.plot(A,B,color='black', clip_on=True)

cax = ax1.contourf(X,Y,Z)
cbar= figure.colorbar(cax)

# rest of code

说明

  • ax1.set_xlim和ax1.set_ylim将坐标轴范围严格限定在X、Y的数值区间内,这是你需要的显示边界
  • clip_on=True会让Matplotlib自动裁剪掉折线超出当前坐标轴范围的部分,完全不需要手动调整A、B数组的内容

如果仍有超出部分显示,检查是否存在其他修改坐标轴范围的代码,也可以尝试将设置轴范围的代码放在绘制折线之后(通常顺序不影响,但调整后能解决极少数特殊场景的问题)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 21:12:18