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

matplotlib quiver绘制风向时设置等长箭头并减小箭头粗细

matplotlib风矢量调整实现方案

针对你提出的两个调整需求,可通过矢量预处理+quiver参数配置实现,不会改动原始风向:

  • 统一箭头长度:对原始U/V风矢量做单位归一化处理,计算每个矢量的模长后将U、V分量分别除以对应模长,处理后所有矢量模长一致,U/V比值和原始数据完全相同,因此风向不会发生任何偏移。
  • 减细箭头线条:quiver函数的width参数直接控制箭杆的粗细,默认值约为0.005,将该值调低即可得到更细的线条,可根据显示效果在0.002~0.004区间取值。

完整修改代码

import matplotlib.pyplot as plt
import numpy as np
U= np.array([-2.99, -3.12, -4.18, -4.45, -3.36, -4.66, -3.93, -2.53, -4.6 ,
       -4.71, -3.64, -2.81, -2.5 , -3.35, -3.24])
V= np.array([-6.33, -6.25, -6.54, -7.48, -6.27, -6.48, -5.69, -5.81, -8.81,
       -8.48, -6.86, -6.95, -5.8 , -5.9 , -4.39])
X=np.arange(0, len(U))

# 矢量归一化,统一长度且保留原始风向
mag = np.sqrt(U**2 + V**2)
U_unit = U / mag
V_unit = V / mag

plt.figure()
# width设置箭杆粗细,scale调整箭头整体显示长度,数值越小箭头越长
plt.quiver(X, 2, U_unit, V_unit, width=0.003, scale=20)
plt.ylim([1.5,2.5])
plt.show()

参数微调提示

  • 若箭杆仍偏粗,可继续减小width的取值,例如设为0.002
  • 若箭头显示长度不符合预期,调整scale参数即可:参数值越大,箭头显示长度越短,反之越长
  • 归一化操作仅修改矢量模长,所有箭头指向和原始代码输出的风向完全一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 15:57:50