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

matplotlib如何设置等比例坐标轴 版本切换后绘图异常怎么解决

问题原因

你代码中的坐标轴操作顺序存在逻辑错误:你先调用plt.gca()获取当前坐标轴并设置了等比例属性,后续又调用plt.axes()生成了一个全新的空白坐标轴,之前设置的等比例配置直接被新坐标轴覆盖失效。
旧版本可以正常运行,是因为你之前环境配套的matplotlib版本较低,对重复创建坐标轴的处理逻辑存在容错,更换Python3.7后,配套的matplotlib版本调整了这块的处理逻辑,因此问题暴露。

解决方法

调整坐标轴操作顺序,先统一获取/创建坐标轴对象,再做所有属性配置即可,修正后代码如下:

import matplotlib.pyplot as plt
from matplotlib.patches import Circle

# 先获取全局坐标轴对象
ax = plt.gca()
# 统一配置坐标轴属性
plt.ylabel("y(Km)")
ax.set_aspect('equal')
ax.set_facecolor("black")
# 绘制图形元素
circle = Circle((0, 0), 2, color='dimgrey')
ax.add_patch(circle)
# 设置坐标轴范围(u1为你预先定义的变量,保留原有逻辑)
plt.axis([-1 / u1 , 1 / u1 , -1 / u1 , 1 / u1 ])
plt.show()

如果调整顺序后仍存在异常,可以升级matplotlib到最新稳定版:
pip install --upgrade matplotlib

效果对比

  • 正常效果
    正常效果
  • 异常效果
    异常效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.23 19:06:05