Вы можете подключить "button_press_event"
и узнать сами, произошел ли щелчок в месте, покрытом линией.Это немного сложнее, чем использование встроенного средства выбора.
x = np.arange(10)
ax.plot(x, x, picker=6)
ax.plot(x, 2 * x, picker=6)
ax.plot(x, 3 * x, picker=15)
ax.plot(x, 4 * x, picker=1)
def _onPick(event):
update = False
if event.inaxes == ax:
for line in ax.lines:
if line.get_picker():
cont, ind = line.contains(event)
if cont:
line.set_linewidth(5)
update=True
if update:
fig.canvas.draw_idle()
fig.canvas.callbacks.connect('button_press_event', _onPick)
Обратите внимание, что я переопределил средство выбора, чтобы указать здесь радиус, что может быть полезно, чтобы убедиться, что один действительно попадает на линию.