我使用下面的代码来获取一个空版本的Map。
import matplotlib.pyplot as plt
import cartopy.feature as cfeature
import cartopy.crs as ccrs
cstm=[31.69347, -116.88353, 31.96507, -116.57810]
def map_canvas(cstm, land = True, land_color='darkgreen'):
fig, mppng = plt.subplots(subplot_kw=dict(projection=ccrs.PlateCarre()))
mppng.set_extent([min(cstm[1], cstm[3]), max(cstm[1], cstm[3]), min(cstm[0], cstm[2]), max(cstm[0], cstm[2])], crs = ccrs.PlateCarre())
if land:
mppng.add_feature(cfeature.GSHHSFeature(scale='i'), facecolor = land_color, edgecolor = 'black', linewidth = .5, zorder = 10)
return fig, mppng
是否有任何方法可以将元素添加到Map的后验(即函数之外),类似于:
fig, mppng = map_canvas()
mppng.scatter(31.79872, -116.70722)
fig.savefig('Custom1.png')
哪种方法可以在31.79872N-116.70722E处添加一个点到现有的空Map上?到目前为止,它正在生成空Map,但一旦生成,我就不能添加任何内容。
谢谢。
1条答案
按热度按时间qoefvg9y1#
您需要使用(经度,纬度)序列。因此相关代码行必须是:-
s=120,颜色=“红色”为选项。
我还要补充一点:
才得到这幅图。
完整的代码基于OP的问题,读者可能会尝试运行: