Cartopy是用于在Matplotlib上绘制地理地图的第三方工具包。Cartopy具有各种各样的功能,可以满足许多不同的用户群体。 在这里,我们将尝试介绍企业中通常使用的大多数功能。
地理地图以经度和纬度绘制,均以度为单位。 经度绘制在x轴上,并且从西向180度(-180)到东向180度(180)变化。 纬度绘制在y轴上,从向南90度(-90)到向北90度(90)变化。 地图上的位置由其经度和纬度值标识。
在此,我们将学习cartopy提供的用于绘制地图的基本功能。 将涵盖国家边界,沿海地区与陆地,陆地区域,海洋,河流和湖泊的边界等特征。 它还将介绍如何提供背景图像以实现更好的可视化效果。
导入所需库:
import matplotlib.pyplot as plt
import cartopy.crs as ccrs
import cartopy.feature as cfeature
步骤细节:
fig = plt.figure(figsize=(12,8))
ax = fig.add_subplot(1, 1, 1, projection=ccrs.PlateCarree())
ax.set_global()
ax.stock_img()
ax.add_feature(cfeature.LAND, color='wheat')
ax.add_feature(cfeature.OCEAN, color='skyblue')
ax.add_feature(cfeature.COASTLINE, linestyle='-',lw=3)
ax.add_feature(cfeature.BORDERS, linestyle=':')
ax.add_feature(cfeature.LAKES, alpha=0.5, color='y')
ax.add_feature(cfeature.RIVERS, color='blue')
ax.tissot(facecolor='orange', alpha=0.4) # Tissot's indicatrix in cartography
ax.set_title('Cartopy Map Features - Demo', size=20, weight='bold', color='g')
ax.text(0.5, -0.06, 'Longitude', va='bottom', ha='center', size=15, color='r',
rotation='horizontal', rotation_mode='anchor', transform=ax.transAxes)
ax.text(-0.02, 0.55, 'Latitude', va='bottom', ha='center', size=15, color='b',
rotation='vertical', rotation_mode='anchor', transform=ax.transAxes)
plt.show()
运行上述代码后,您应该在屏幕上看到以下地图:
详情参阅 - 亚图跨际