如何用 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 问题。
我正在尝试使用 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 问题。