【发布时间】:2019-06-18 12:27:33
【问题描述】:
我正在使用 Cartopy 进行极地研究,并希望在我的数据周围剪裁一个圆形边界,我将其绘制在 NorthPolarStereo() 投影中。我使用set_extent 表示我想从哪个纬度绘制数据,并使用set_boundary 创建圆形边界,如in the gallery 所述。然后我使用matplotlib.pyplot.pcolormesh 绘制实际数据。但是,假设我使用set_extent 定义最小纬度 55 度,我的一些低于 55 度的数据仍在我的set_boundary 之外绘制。如何剪掉这些数据?
map_crs = ccrs.NorthPolarStereo(central_longitude=0.0, globe=None)
# Build axes
fig = plt.figure()
ax = plt.axes(projection=map_crs)
plotfield = ax.pcolormesh(lons, lats, data, transform=ccrs.PlateCarree())
ax.set_extent((-180, 180, 55, 90), crs=ccrs.PlateCarree())
gl = ax.gridlines()
# Circular clipping
theta = np.linspace(0, 2*np.pi, 400)
center, radius = [0.5, 0.5], 0.5
verts = np.vstack([np.sin(theta), np.cos(theta)]).T
circle = mpath.Path(verts * radius + center)
ax.set_boundary(circle, transform=ax.transAxes)
【问题讨论】:
标签: matplotlib cartopy