如何用 Cartopy 的 NearsidePerspective 投影拟合 Matplotlib 的 stock_img()

How to fit Matplotlib's stock_img() with Cartopy's NearsidePerspective projection

我正在尝试使用 Cartopy 的投影 NearsidePerspective,但与 Matplotlib 提供的真实地球图像重叠,并通过降低 satellite_height 参数放大一点。对于这种特定类型的设置,Cartopy 似乎无法正确 trim 图像。显示的图像仍然超出人们预期的地图边界。

import cartopy.crs as ccrs
import matplotlib.pyplot as plt

fig=plt.figure(figsize=(10,10))

# Set Projection
height=3000000 
#height=35785831 # this is the default height
projection=ccrs.NearsidePerspective(central_longitude=120,
                                    central_latitude=78,
                                    satellite_height=height)
# Draw 
ax = plt.axes(projection=projection)
ax.stock_img()
ax.coastlines(resolution='50m')
plt.show()

如何结合 Matplotlib 的 stock_img() 和 NearsidePerspective 的这种配置才能正常工作?或者什么是获得所需结果的替代方法?

我在 Jupyter Notebook、Matplotlib 3.0.2 和 Cartopy 0.16.0 上使用 Python 3.6。

在 mac 上使用与 Python 3.7、Matplotlib 3.0.3 和 Cartopy 0.17.0 相同的代码,图像被正确裁剪:

这可能是版本问题或 Jupyter Notebook 问题。