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

如何确定Matplotlib中quiver函数绘制箭头的终点位置

确定plt.quiver箭头终点位置的方法

在Matplotlib的plt.quiver中,箭头终点的计算取决于缩放相关参数的设置,以下是精准计算的核心场景:

1. 手动关闭自动缩放,直接对应坐标偏移

如果你想让u、v直接代表从起点(x,y)出发的坐标增量,调用quiver时指定scale=1和scale_units='xy'即可:

q = plt.quiver(x, y, u, v, color, scale=1, scale_units='xy')

此时箭头的终点坐标为:

  • 终点x坐标:x + u
  • 终点y坐标:y + v
    这种模式下,u和v的数值直接对应坐标轴上的数值偏移,完全可控。

2. 默认自动缩放场景下的精准计算

默认状态下,Matplotlib会根据当前坐标轴范围自动缩放箭头长度,此时u、v不是直接的坐标偏移,需要结合quiver实例的缩放因子计算:

  1. 先获取quiver对象:
q = plt.quiver(x, y, u, v, color)
  1. 获取自动计算的缩放因子q.scale,再推导终点:
  • 终点x坐标:x + u / q.scale
  • 终点y坐标:y + v / q.scale

验证方法

可以用散点图标记计算出的终点,验证是否与箭头末端重合:

# 计算终点
end_x = x + u / q.scale
end_y = y + v / q.scale
# 绘制终点标记
plt.scatter(end_x, end_y, c='red', s=20)
plt.show()

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 13:25:31