首页 > 解决方案 > 在 xarray 绘图上方绘制底图

问题描述

我有一个 xarray 数据集clip_ds,并使用plot. 现在,我想使用 Basemap 的drawcountries(). 显然,我在底图中使用的范围有问题(我猜),但国家边界和数据图都不会一起显示。我尝试clip_ds.pr[0].plot()在创建底图之前和之后交换位置,它给了我两个不同的结果,如下所示:

  1. Xarray PLOT BEFORE BASEMAP(请注意,xarray 图中的颜色条仍然存在)
  2. Xarray PLOT AFTER BASEMAP(注意与 3 的差异,此处绘图的高度缩小,刻度标签消失,可能与底图重叠。)
  3. 仅 Xarray 绘图

使用加载单独的 shapefilemap.readshapefile也会产生同样的问题。我知道使用 可能有办法解决这个问题cartopy,但我喜欢 Basemap 功能,并想知道是否有任何解决方案。

map=Basemap(projection='merc',     
               resolution='l',
               llcrnrlon=clip_ds.lon[0],
               llcrnrlat=clip_ds.lat[0],
               urcrnrlon=clip_ds.lon[-1],
               urcrnrlat=clip_ds.lat[-1])
map.drawcountries()
clip_ds.pr[0].plot()
plt.show()

标签: pythonpython-xarraymatplotlib-basemap

解决方案


推荐阅读