python-cartopy制图学习02
时间: 2023-07-18 08:15:34 浏览: 116
好的,很高兴为您解答。在学习Cartopy制图的第二步中,我们将探索如何在地图上添加标记和注释。
首先,我们需要导入Cartopy和Matplotlib的相关库:
```
import cartopy.crs as ccrs
import matplotlib.pyplot as plt
```
接下来,我们将创建一个带有注释和标记的地图。这里我们以美国为例:
```
# 创建一个以美国为中心的地图
ax = plt.axes(projection=ccrs.PlateCarree())
ax.set_extent([-130, -60, 20, 50], crs=ccrs.PlateCarree())
# 添加州边界线
states_provinces = cfeature.NaturalEarthFeature(
category='cultural',
name='admin_1_states_provinces_lines',
scale='50m',
facecolor='none')
ax.add_feature(states_provinces, edgecolor='gray')
# 添加湖泊和河流
lakes = cfeature.NaturalEarthFeature(
category='physical',
name='lakes',
scale='50m',
facecolor='none')
ax.add_feature(lakes, edgecolor='blue')
rivers = cfeature.NaturalEarthFeature(
category='physical',
name='rivers_lake_centerlines',
scale='50m',
facecolor='none')
ax.add_feature(rivers, edgecolor='blue')
# 添加城市标记
ax.plot(-75, 40, 'bo', markersize=7, transform=ccrs.PlateCarree())
ax.text(-75.5, 40.5, 'New York', transform=ccrs.PlateCarree())
# 添加注释
ax.text(-129, 22, 'USA', horizontalalignment='left', transform=ccrs.Geodetic())
ax.text(-100, 25, 'Great Lakes', horizontalalignment='center', transform=ccrs.PlateCarree())
ax.text(-98, 37, 'Mississippi River', horizontalalignment='center', transform=ccrs.PlateCarree())
plt.show()
```
这段代码会绘制一个以美国为中心的地图,同时添加州边界线、湖泊和河流的标记和注释。其中,城市标记是以蓝色圆点的形式添加的,注释则是以文本的形式添加的。
这就是在Cartopy制图中添加标记和注释的基本方法。希望对您有所帮助!
阅读全文