问题描述
我在Matlab用Putpole和Rotatem制作的网格上有数据。 我无权访问原始数据,但想在其上使用Python。 网格的原点是78度和11度(星形标记),但用方格图进行绘制始终会将北极放在中间,所以我的数据有些偏离。
有人知道如何解决吗? 我尝试了false_northing,但没有做任何事情。请忽略我正在尝试解决地图问题的可怕的颜色条。
fig=plt.figure(figsize=(8,8))
ax = fig.add_subplot(1,1,projection=ccrs.northPolarstereo())
cmap = plt.get_cmap('jet')
#plotting settings
ax.set_extent([-180,180,40,90],ccrs.PlateCarree())
ax.gridlines(linewidth=2,color='k',alpha=0.7,linestyle='--')
ax.coastlines(zorder=3)
ZEP_coords=(78.9,11.8)
ax.plot(ZEP_coords,'*',c='orangered',markersize=25,transform=ccrs.PlateCarree())
data_mod,lon_mod = add_cyclic_point(a,coord=lon)
plt.contourf(lon_mod,lat,data_mod,20,vmin=0,vmax=0.05,cmap=cmap,transform=ccrs.PlateCarree())
plt.colorbar()
绘制当前的样子:
数据结构和我拥有的所有信息:
解决方法
如果您将NorthPolarStereo
用作投影,则可以指定中心纬度和经度而不是Stereographic
。您可能还需要查看RotatedPole
投影。