【发布时间】:2017-03-17 11:26:52
【问题描述】:
我正在尝试比较 matplotlib 中网格模型输出位置(通过底图上的箭袋)和分散的站点(通过 matplotlib 箭头)之间的风矢量。两者的位置都以纬度/经度为单位,但风矢量以米/秒为单位。
当组合时,我希望颜色和长度随大小而变化,并且对于箭袋和箭头数据以相同的方式缩放两种质量。我在下面给出了一个示例,其中箭袋图看起来不错并且以绝对长度(英寸)缩放。我不知道该怎么做才能使箭头()匹配。在示例中,我将其除以 SCALE,以了解我希望最终图像的外观。
import numpy as np
import matplotlib.pylab as plt
from mpl_toolkits.basemap import Basemap
X, Y = np.meshgrid(np.arange(-123,-121,0.3),np.arange(37,39,0.3))
U = np.cos(X+123)*12
V = np.sin(Y-37)*12
mag = np.hypot(U,V)
fig,ax=plt.subplots(1)
m=Basemap(projection ='cyl',resolution='f',llcrnrlat=37,llcrnrlon=-123,
urcrnrlat=39,urcrnrlon=-121,ax=ax)
quiv = m.quiver(X,Y,U,V,mag,zorder=2,latlon=True,scale=30,scale_units='inches')
# Scattered points won't be on the grid
x0=X[2,2] - 0.025
y0=Y[2,2]
u0=U[2,2]
v0=V[2,2] + 0.5
SCALE = 72.
plt.arrow(x0,y0,u0/SCALE,v0/SCALE)
plt.show()
【问题讨论】:
标签: python numpy matplotlib matplotlib-basemap