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

Matplotlib Pyplot绘制垂直向量时出现倾斜问题求助

问题原因与解决方法

核心问题

  • ax.quiver()参数理解错误:它的前两个参数是向量起点坐标(x, y),后两个参数是向量的偏移量(dx, dy),不是终点坐标。你直接把终点坐标传成偏移量,导致向量方向完全出错。
  • 坐标定义混乱:你想要x起始与终点相同,那x方向偏移量应为0,而非162890;同时你设置的x轴范围left=299595,但向量起点x坐标是299400,不在当前轴范围内,进一步加剧显示异常。

修正后的代码

import matplotlib.pyplot as plt

# 明确向量起点与终点坐标
start_x, start_y = 299400, 162305
end_x, end_y = 299400, 162890  # x坐标一致,保证向量垂直

# 计算向量偏移量(终点减起点)
dx = end_x - start_x
dy = end_y - start_y

# 绘图轴范围
top = 163440
bottom = 161910
left = 299595
right = 300510

fig, ax = plt.subplots()
# 添加参数保证向量严格按坐标比例绘制,避免变形
ax.quiver(start_x, start_y, dx, dy, angles='xy', scale_units='xy', scale=1)

plt.xlim(left, right)
plt.ylim(bottom, top)
# 注释自动缩放,保留手动设置的轴范围
# plt.autoscale()
plt.show()

关键说明

  • angles='xy', scale_units='xy', scale=1这三个参数能确保向量方向、长度完全匹配坐标轴比例,不会因轴缩放比例不同而变形。
  • 必须手动计算偏移量,不能直接传入终点坐标给quiver。
  • 关闭plt.autoscale(),避免它覆盖你手动设置的轴范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 06:25:28