Отключение с помощью кнопки GUI в Matplotlib (Python)
Я создаю интерактивную фигуру, используя matplotlib.
Данные, представленные в качестве входных данных, вычисляются в реальном времени, и функция, используемая для создания рисунка, вызывается, когда данные готовы к рисованию, поэтому я не могу использовать модуль анимации. Кроме того, новые данные не представлены на тех же осях, что и предыдущая, а на выходе отображаются 3D-графики и графические виджеты.
Каждый раз, когда данные рисуются, я вызываю plt.pause(30), если пользователь хочет взаимодействовать с выводом. По истечении 30 секунд цифры обновляются.
Я пытаюсь создать кнопку с графическим интерфейсом, которая при нажатии отменяет plt.pause и разблокирует выполнение программы. До сих пор я не смог найти ответ на этот простой (?) Запрос. Кто-нибудь знает, есть ли способ остановить plt.pause() из GUI, привязав его каким-либо образом к графическому виджету? Если нет, есть ли способ обойти эту ситуацию?
1 ответ
Хорошо, я должен был пойти в GitHub Matplotlib, чтобы понять, что является основной идеей. Функция, подобная следующей:
def button_function(val):
plt.gcf().canvas.stop_event_loop()
делает именно то, что я хочу при подключении с помощью кнопки on_clicked
, Этот вопрос озадачил меня на один день, и когда я опубликовал вопрос, я нашел ответ менее чем за 10 минут. Спасибо stackru за предоставленную мне возможность записать его....