Отключение с помощью кнопки 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 за предоставленную мне возможность записать его....

Другие вопросы по тегам