Попытка написать скрипт, который ждет, пока открыто окно графика MatPlotLib, а затем возобновляет работу, когда оно закрывается. Но plot.show () не блокирует - PullRequest
0 голосов
/ 26 октября 2018

Я пытаюсь создать функцию, используя библиотеку MatPlotLib, которая вызывает график, ждет щелчка мышью от пользователя (и отображает что-то после каждого щелчка), а затем возвращает что-то только после закрытия окна графика.

Я написал некоторый код, но моя проблема в том, что при вызове функции мой скрипт на python не ждет закрытия окна графика, прежде чем продолжить, поэтому ввод еще не был собран.Мне сказали, что plot.show () должен нормально блокироваться, но даже с plot.show (block = True) это происходит.

Мой код выглядит следующим образом:

import matplotlib.pyplot as plt

%matplotlib
def function():
    def subfunction(event):
        global values
        values.append(event.xdata)
        ax.plot([0, event.xdata], [0, event.ydata])
        fig.canvas.draw()

    values = []
    fig, ax = plt.subplots()
    fig.canvas.mpl_connect("button_press_event", select_point)
    plt.show(block=True)
    return values

#main:
print('Values:', function())

В результате получается, что я получаю вывод 'Values: []' сразу же, как только появляется окно графика.

Яне уверен, что я делаю неправильно, поскольку все документы, которые я могу найти, предполагают, что это не должно происходить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...