使用Cartopy绘制南北极正射投影图,如何裁剪至极地附近范围?
正射投影图裁剪至极地附近10度纬度范围的解决方案
要将南北极正射投影图裁剪到极地附近10度纬度范围,只需在每个子图代码中添加set_extent方法,指定对应纬度边界即可,具体操作如下:
修改后的完整代码
# %% Import packages import os import matplotlib.pyplot as plt import sys import pandas as pd import numpy as np from geopack import geopack import cartopy.crs as ccrs import cartopy.feature as cfeature fig = plt.figure(figsize=(20,10)) # North ax = fig.add_subplot(1,2,1, projection=ccrs.Orthographic(central_latitude=90)) ax.stock_img() ax.coastlines() ax.add_feature(cfeature.BORDERS, linestyle="--") # 裁剪到北纬80°至90°范围 ax.set_extent([-180, 180, 80, 90], crs=ccrs.PlateCarree()) # South ax = fig.add_subplot(1,2,2, projection=ccrs.Orthographic(central_latitude=-90)) ax.stock_img() ax.coastlines() ax.add_feature(cfeature.BORDERS, linestyle="--") # 裁剪到南纬90°至80°范围 ax.set_extent([-180, 180, -90, -80], crs=ccrs.PlateCarree()) plt.show()
关键说明
set_extent的参数[-180, 180, 80, 90]代表经度范围-180°到180°,纬度范围80°N到90°N,对应北极附近10度区域;南极区域则设置为[-180, 180, -90, -80]。- 指定
crs=ccrs.PlateCarree()是因为我们用常规经纬度坐标系定义显示范围,Cartopy会自动将其转换为当前子图的正射投影坐标系。
内容的提问来源于stack exchange,提问作者John Momberg
相关产品推荐
相关产品推荐

