как стереть метки мультикурсора при перерисовке графика?
Я использую версию matplotlib 3.7.0 и версию mplcursors 0.5.2. Как сделать так, чтоб при построении графика 2 стирались метки мультикурсора поставленные на графике 0. Ранее, при использовании mplcursors 0.4 хватало метода ax.cla() при очистки поля от графиков. В версии 0.5.2 не удаётся стереть метки мультикурсора при использовании ax.cla(). Пробовал cursor.remove() - метки не удаляются. Вот код:
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import RadioButtons
import mplcursors
t = np.arange(0.0, 2.0, 0.01)
s0 = np.sin(2*np.pi*t)
s2 = np.sin(8*np.pi*t)
fig, ax = plt.subplots()
fig.subplots_adjust(left=0.3)
ax.plot(t, s0, lw=2, label='0', color='red')
mplcursors.cursor(ax, multiple=True).connect("add", lambda sel: sel.annotation.draggable(True))
rax = fig.add_axes([0.05, 0.7, 0.1, 0.15])
radio = RadioButtons(rax, ('0','2'),radio_props={'s': [80,80]})
def change_plot(label):
if label == '0':
ax.cla()
ax.plot(t, s0, lw=2, label='0', color='red')
mplcursors.cursor(ax, multiple=True).connect("add", lambda sel: sel.annotation.draggable(True))
plt.draw()
elif label == '2':
ax.cla()
ax.plot(t, s2, lw=2, label='2', color='blue')
mplcursors.cursor(ax, multiple=True).connect("add", lambda sel: sel.annotation.draggable(True))
plt.draw()
radio.on_clicked(change_plot)
plt.show()
Подскажите, как решить эту проблему?