cartopy - set_extent()扩展请求边界

问题描述:

我是新来的cartopy,仍在学习基本功能。cartopy - set_extent()扩展请求边界

我试图绘制一个特定的区域,然而,当我请求80oN时,cartopy扩展了这个区域,并产生了一个地图上升到约85oN。有没有一种方法可以确保我只能访问我感兴趣的区域?

plt.figure(figsize=(5.12985642927, 3)) 
ax = plt.axes(projection=ccrs.PlateCarree(central_longitude=-35)) 
ax.set_extent([-100, 30, 0, 80]) 
ax.coastlines(resolution='110m') 
gl = ax.gridlines(crs=ccrs.PlateCarree(), draw_labels=True, 
       linewidth=2, color='gray', alpha=0.5, linestyle='--') 

PC regional map

你应该确保告诉set_extent方法是什么坐标您在指定范围的系统,在这种情况下:

ax.set_extent([-100, 30, 0, 80], crs=ccrs.PlateCarree()) 

这种方法是优选的cartopy,因为它避免了使用set_xlim/set_ylim它总是在投影坐标系下操作,当使用除PlateCarree()以外的其他投影时,这可能导致很多混淆。使用set_extent与明确的crs将始终做你所期望的,而不管你的情节的投影。

你试图ax.set_xlim设定x轴的上限和下限? Here是一些使用示例和说明。

+0

谢谢。很高兴知道我可以用cartopy拾取一些matplotlib函数。 是的。添加 ax.set_ylim([0,80]) 让我什么我想要的东西 plt.figure(figsize =(5.12985642927,3)) AX = plt.axes(投影= ccrs.PlateCarree(central_longitude = - 35)) ax.set_extent([ - 100,30,0,80]) ax.set_ylim([0,80]) ax.coastlines(resolution ='110m') gl = ax.gridlines(crs = ccrs.PlateCarree(),draw_labels = True, linewidth = 2,color ='gray',alpha = 0.5,linestyle =' - ') http://imgur.com/a/JYzEm –