python模仿origin绘制风速风向矢量图

#读取数据

data = pd.read_excel('XXX.xlsx', sheet_name='Sheet0',usecols=['ID','hour', 'WS','WD'])
df = pd.DataFrame(data)

names = data['ID'].unique()
for name in names: 
    dt=data.loc[data['ID']==name,:] 
    
    # 计算每个站点的风速和风向的最小值和最大值
   # y_min, y_max = dt['WS'].min() - 0.5, dt['WS'].max() + 0.5  #设置y轴显示的范围

这里有两个细节,一是u和v分别对应的sin和cos函数,不能写反;二是公式应该是风速的负值*sin/cos(角度)

    x = dt['hour']  #绘制的小时变化,需要读取时间    
    u = -dt['WS'] * np.sin(np.radians(dt['WD']))  # 将风向转换为x方向的分量    
    v = -dt['WS'] * np.cos(np.radians(dt['WD']))  # 将风向转换为y方向的分量

最后就是绘图了


 x = dt['hour']  #绘制的小时变化,需要读取时间    
    u = -dt['WS'] * np.sin(np.radians(dt['WD']))  # 将风向转换为x方向的分量    
   
  • 9
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值