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

Matplotlib绘制的quiver箭头与x、y轴刻度数值不对齐怎么解决

你遇到的箭头和坐标轴刻度不对齐的问题,是matplotlib.pyplot.quiver的默认缩放机制导致的,默认状态下箭头长度不会和坐标轴单位直接对应,只需要在调用quiver时添加3个参数即可解决,修改后的完整代码如下:

from numpy import array
from math import *
import matplotlib.pyplot as plt

u = [1,0]
v = [0,1]

ax = plt.axes()
ax.set_xlim([-1,5])
ax.set_ylim([-1,5])

# 新增三个参数控制箭头对齐坐标轴刻度
ax.quiver(0,0,u[0],u[1],color='red', angles='xy', scale_units='xy', scale=1)
ax.quiver(0,0,v[0],v[1],color='blue', angles='xy', scale_units='xy', scale=1)

plt.show()

新增参数说明:

  • angles='xy':指定箭头的角度基于x、y轴的坐标比例计算,避免坐标轴比例变化时箭头指向偏移
  • scale_units='xy':设置箭头长度的缩放参考单位为坐标轴的坐标单位
  • scale=1:缩放比例设为1,即你传入的向量长度数值会直接对应坐标轴上的单位长度,比如传入向量[1,0]时,箭头终点刚好落在x轴刻度1的位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 08:36:01