Есть ли способ установить логический статус CheckButtons в matplotlib с обратным вызовом onclick()
?
Вот мой сценарий:
Я отображаю график с большим количеством трасс (более 50) и хочу дать пользователю возможность отображать их подмножество на основе некоторых фиксированных запросов, которые пользователь выбирает с помощью CheckButton
. При каждом нажатии кнопки скрипт получает статус всех присутствующих CheckButton
с помощью get_status()
, вычисляет индексы трасс, соответствующих выбранным критериям, и соответствующим образом обновляет отображение.
Чтобы облегчить жизнь пользователю, я также хочу иметь кнопки «Выбрать все» и «Очистить все». Лучший способ, который я могу придумать, чтобы реализовать их, состоит в том, чтобы принудительно установить логическое состояние всех CheckButtons в True или False, не вызывая обратный вызов on_click()
, а затем установить видимость трасс соответственно.
Однако CheckButton()
не имеет метода set_status()
https://matplotlib.org/api/widgets_api.html#matplotlib.widgets.CheckButtons
Существует метод set_active()
, но согласно документации он вызывает обратный вызов, если eventson
имеет значение true.
Может кто-нибудь дать мне пару советов, как это сделать? Нужно ли устанавливать eventson=False
для wdget, затем set_active()=True
, а затем eventson=True
? Кажется довольно неуклюжим, но я не могу придумать более изящный способ, даже проведя слишком много часов.
Спасибо!