Я анимирую шестнадцатеричную тепловую карту поверх изображения базовой карты, но не могу понять, как удалить предыдущие гексы перед началом следующего кадра.Я хочу анимировать с некоторым накоплением, но сбрасывать через выбранные интервалы (мои данные имеют временное измерение, я хочу, чтобы показать все точки для данного года, день за днем, затем стереть гексы и показать следующий год).Я думаю, мне нужно сохранить слой и использовать его метод .remove (), но я не могу понять это.
def update_hex(i, prev_layer):
if i == (len(years) - 1):
ani.event_source.stop()
print("End animation: Update Hex")
x, y = [mm.xmin, mm.xmax], [mm.ymin, mm.ymax]
x1, y1 = mm(df["LONGITUDE"][df["YEAR"] == years[i]].values, df["LATITUDE"][df["YEAR"] == years[i]].values)
x += x1.tolist()
y += y1.tolist()
x = np.array(x)
y = np.array(y)
if prev_layer:
prev_layer.remove()
hexlayer = mm.hexbin(x, y, gridsize = 75, bins = 100, mincnt = 0, cmap = 'my_cmap', linewidth = 0)
prev_layer = None
ani = animation.FuncAnimation(fig, update_hex, interval = 10, frames = range(len(years)), fargs = (prev_layer, ))
plt.show()