箭头底图 - 如何使箭头密度与纬度相关?

时间:2016-02-24 17:42:45

标签: python matplotlib matplotlib-basemap

我想在极地底图上做一个箭袋图。我有一个常规的纬度/经度网格,并且因为在高纬度地区有更多的网格框,我的代码在极点上绘制的数量与赤道上的数量相同,因此它们重叠等等。如何使纬度密度达到纬度 - 依赖?

这是我使用的代码

import numpy as np
from mpl_toolkits.basemap import Basemap, addcyclic
import matplotlib.pyplot as plt


m_mu = Basemap(projection='npstere',boundinglat=10,lon_0=0,resolution='l',round=True)

lats=np.arange(0.,91.,15.)
lons=np.arange(-180.,181.,30.)
valin_u=np.array([[np.random.randn() for y in range(len(lons))] for x in range(len(lats))])
valin_v=np.array([[np.random.randn() for y in range(len(lons))] for x in range(len(lats))])
del x,y

valin = np.sqrt( valin_u**2 + valin_v**2 )

mu_cyclic, lons_cyclic = addcyclic(valin, lons)
mu_cyclic_u, lons_cyclic = addcyclic(valin_u, lons)
mu_cyclic_v, lons_cyclic = addcyclic(valin_v, lons)

grid = np.meshgrid( lons_cyclic, lats )
x, y = m_mu( *grid)

plt.figure()
cs = m_mu.pcolormesh(x, y, mu_cyclic)
csquiv = m_mu.quiver(x[::1,::1], y[::1,::1], mu_cyclic_u[::1,::1], mu_cyclic_v[::1,::1])
plt.show()

resulting plot

我想我可以编写一个函数来设置依赖于纬度的数值为.nan,但希望有更好的解决方案吗?

非常感谢你的帮助:-) 萨宾

0 个答案:

没有答案
相关问题