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='--')
答
你应该确保告诉set_extent
方法是什么坐标您在指定范围的系统,在这种情况下:
ax.set_extent([-100, 30, 0, 80], crs=ccrs.PlateCarree())
这种方法是优选的cartopy,因为它避免了使用set_xlim
/set_ylim
它总是在投影坐标系下操作,当使用除PlateCarree()
以外的其他投影时,这可能导致很多混淆。使用set_extent
与明确的crs
将始终做你所期望的,而不管你的情节的投影。
谢谢。很高兴知道我可以用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 –