如何解决在 NorthPolarStereo Cartopy 中设置纬度刻度标签的经度
我正在使用类似于以下内容的代码绘制北极地区的图:
from cartopy.mpl.gridliner import LONGITUDE_FORMATTER,LATITUDE_FORMATTER
import matplotlib.ticker as mticker
import cartopy.crs as ccrs
fig,ax = plt.subplots(1,1,figsize=(8,8),subplot_kw={'projection': ccrs.NorthPolarStereo()})
ax.scatter([x[0] for x in max_coords[:-1]],[x[1] for x in max_coords[:-1]],color='k',s=50,marker='x',transform=ccrs.PlateCarree(),zorder=5,label='BSH Center\n1980-2020')
ax.set_extent([-2.633e+06,2.696e+06,-6e+04,2.9e+06],crs=ccrs.NorthPolarStereo())
ax.add_feature(cartopy.feature.LAND,edgecolor='black',zorder=1)
ax.legend(fontsize='x-large')
gl = ax.gridlines(draw_labels=True)
gl.xlocator = mticker.FixedLocator(np.concatenate([np.arange(-180,-89,15),np.arange(90,181,15)]))
gl.xformatter = LONGITUDE_FORMATTER
gl.xlabel_style = {'size': 12,'color': 'k','rotation':0}
gl.yformatter = LATITUDE_FORMATTER
gl.ylocator = mticker.FixedLocator(np.arange(70,86,5),200)
如您所见,表示纬度的刻度线位于经度 135E。这意味着 75N 刻度在一个岛上并且不清晰。我希望这些刻度线位于 120E 线上,但不知道如何移动它们。我以为我可以用上面代码的最后两行来完成,但它们似乎对情节没有任何影响。
解决方法
这需要对标签进行一些修改。首先,您可以运行以下代码:
1
并发现 gl.label_artists
标签位于经度 138 度处。有了这些信息,您可以将其更改为其他值,我使用以下代码行选择了 126:
in line
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。