在matplotlib中的图之间保持地图覆盖



我正在从基本图上的地图上创建一系列的lat/long散点图。我计划创建数千个图,并具有不同的LAT/长数据。为了节省时间,我只想绘制地图覆盖层一次:

map = Basemap(epsg=3395, projection='merc', lat_0=59.45, lon_0=10.5,
resolution = 'h',
llcrnrlon=minlong, llcrnrlat=minlat,
urcrnrlon=maxlong, urcrnrlat=maxlat
map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels=3000, verbose=True)

但是,在绘制新的散点图之前,我找不到清除以前的散点图。

for each set in sets:
   x = set[0]
   y = set[1]
   x,y = map(x,y)
   plt.scatter(x,y, s=2.5, alpha=1, color=c, edgecolors='none')
   plt.savefig('title.png', format='png', bbox_inches='tight', dpi=500)

如果我执行以下操作:

plt.clf()

plt.close()

我必须重绘我的地图。如果我没有任何东西,则绘制了上一个迭代的散点图。那么如何删除所有散点图数据,但保留地图数据?

只是更改散点图的数据怎么样?

# save an empty scatter plot
scat = plt.scatter([], [],  s=2.5, alpha=1, color=c, edgecolors='none')
for each set in sets:
    # The data needs to be written as [(x1, y1), (x2, y2), ...]
    scat.set_offsets([xy for xy in zip(x, y)])
    plt.savefig("...")

相关内容

  • 没有找到相关文章

最新更新