python - Cartopy 中的风倒刺和矢量 - regrid_shape 问题

标签 python matplotlib cartopy

我最近从 basemap 切换到 Cartopy,但在绘制风矢量时遇到了一些问题。我有一个北极球平投影(central_longitude=-100.0),范围为[-180,180,10,90]。我有一个 netCDF 数据集,其中每 0.5 度纬度和经度都有 u、v 风值。

如果我使用切片手动跳过某个数字来绘制倒钩(因为数据太密集而无法绘制所有数字),我会得到似乎是该字段的正确表示(请参见下面的第一张图片):

sknum = 15
skip=(slice(None,None,sknum),slice(None,None,sknum))
ax.barbs(lons[skip], lats[skip], u[skip],v[skip], length=6,
             sizes=dict(emptybarb=0.25, spacing=.2, height=0.5),
             zorder = 20,
             linewidth=0.95, transform= ccrs.PlateCarree())

不过,这种方法看起来有点不自然,靠近极点的地方过于密集。使用 cartopy 的 regrid_shape 功能给了我一个更严重的错误(参见第二张图片),同一向量的行一遍又一遍。

ax.barbs(lons, lats, u,v, length=6,
         sizes=dict(emptybarb=0.25, spacing=.2, height=0.5),
         zorder = 20,
         linewidth=0.95, transform= ccrs.PlateCarree(),  regrid_shape=20)

这是此投影下 regrid_shape 的错误吗?我是否做错了什么,和/或者是否有其他方法可以让我获得看起来自然的向量?

Manual skip image Regrid_Shape = 20 image

最佳答案

对于该投影来说,在极点处变换向量似乎存在问题。如果从输入数据中删除极点,重新网格化将按预期工作。无论如何,绘制一个在极点处多值的矢量场并没有什么意义,尤其是在极点是单个点的投影中,因此您不会通过删除极点处的数据来做任何不愉快的事情.

关于python - Cartopy 中的风倒刺和矢量 - regrid_shape 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41603549/

相关文章:

python - Google App Engine 中的 CSS 映射问题

python - 绘制带宽上的标准差与平均值的比率

python - 多个 imshow-subplots,每个都有颜色条

python - 使用 Tk Spinbox 小部件后,Matplotlib FigureCanvasTkAgg 未检测到按键

python - 如何放大cartopy

python - 设置范围时忽略投影限制

cartopy - map 的强制纵横比

python - 用于 map 和 GPS 的跨平台、基于 Python 的丰富图形应用程序 : GTK or wxWidgets?

python - 为什么具有重新定义的 __getattr__() 的对象会抛出 TypeError?

python - 使用 pickle 或 dill 序列化 __main__ 中的对象