Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在Cartopy中查看阿拉斯加/北极东西伯利亚一侧_Python_Matplotlib_Cartopy - Fatal编程技术网

Python 在Cartopy中查看阿拉斯加/北极东西伯利亚一侧

Python 在Cartopy中查看阿拉斯加/北极东西伯利亚一侧,python,matplotlib,cartopy,Python,Matplotlib,Cartopy,我用下面的代码在Cartopy中的NorthPolarStero地图上绘制了一些点 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',

我用下面的代码在Cartopy中的NorthPolarStero地图上绘制了一些点

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 1980-2020')

ax.set_extent([-180, 180, 90, 66], ccrs.PlateCarree())

ax.add_feature(cartopy.feature.LAND, edgecolor='black',zorder=1)

ax.legend(fontsize='x-large')

但我实际上只想画这张图的上半部分,像这样:

如果我将“ax.set\u extent”行更改为:

[90,-90,90,66]
[-90,90,90,66]

它只给出了情节的下半部分,如下所示:


有人知道如何得到上半场吗?我还尝试将NorthPolarStereo线的
中心经度
关键字设置为+/-180,但它只是将错误的半部分倒置显示。

要设置绘制所需区域的范围,应使用使用的投影坐标
ccrs.NorthPolarStereo()。您需要的相关代码是:–

ax.set_extent([-2.633e+06, 2.696e+06, -6e+04, 2.9e+06], crs=ccrs.NorthPolarStereo()) 
你应该得到类似的图:


谢谢你的帮助。你对我如何摆脱图底的60W和60E标签有什么建议吗?没关系-用:gl=ax.gridlines(draw_labels=True)gl.xlocator=mticker.FixedLocator(np.concatenate([np.arange(-180,-89,15),np.arange(90181,15)])这里有一个可能的解决方法,但对于上边缘。可以修改以操纵底部。