擅长:python、mysql、java
<p>我设法使用matplotlib的<code>arrow</code>功能进行绘图。棘手的是,我的风向是按照气象惯例(0˚=N,90˚=E,180˚=S,270˚=W),所以我需要相应地计算<code>u</code>和{<cd3>}分量。在</p>
<p><code>obs_times</code>、<code>wind_speed</code>和{<cd6>}是我的数组,包含观测时间和风数据,绘图代码如下:</p>
<pre><code>fig, ax = plt.subplots(1, 1,figsize=(18, 4))
ax.plot(obs_times, wind_speed, linewidth=2, color='blue')
arrow_scaler = 3
for i in xrange(0,len(obs_times),4):
u = arrow_scaler*-1*np.sin((np.pi/180)*(wind_direction[i]))
v = arrow_scaler*-1*np.cos((np.pi/180)*(wind_direction[i]))
ax.arrow(obs_times[i], (wind_speed.max()+2)/2, u, v, fc='k', ec='k', head_width=0.4, head_length=0.6)
</code></pre>
<p>这给出了输出(是的,我的数据有噪声,没关系):</p>
<p><img src="https://i.stack.imgur.com/vRniP.png" alt="output"/></p>