Попробуйте создать новую фигуру вместо использования clf ().
например,
for i in range(timesteps):
fig = pyplot.figure()
...
fig.savefig(filepath)
В качестве альтернативы (и быстрее) вы можете просто обновить данные в объекте изображения (возвращаемом imshow).()).
например, что-то вроде (полностью не проверено):
map_init #[Basemap Instance]
extra_shapes #[Basemap.readshapefile object]
#plot the weather data for current timestep to current plot
img = map_init.imshow(data[0])
# extra_shapes are county boundaries. Plot those as polygons
plygn = pyplot.Polygon(map_init.extra_shapes[0])
# Plot the state boundaries (in basemap)
map_init.drawstates()
# add a colorbar
pyplot.colorbar()
for i in range(timestamps):
img.set_data(data[i])
plygn.set_xy(map_init.extra_shapes[i])
pyplot.draw()
pyplot.savefig(filepath)
Однако есть вероятность, что этот метод может плохо работать с базовой картой.Возможно, я также неправильно помню правильный способ перерисовать фигуру, но я вполне уверен, что это просто plt.draw () ...
Надеюсь, что это все равно немного поможет
Редактировать: Простозаметил, что вы также рисуете свои полигоны внутри цикла.Обновлен второй пример, чтобы правильно отразить это.