Я пытаюсь вывести график, чтобы пользователь мог подтвердить, что подгонка сработала, но не прерывать весь процесс. Однако, пока появляется окно, в нем никогда ничего нет, и оно «Не отвечает». Я подозреваю, что существует плохое взаимодействие с функциональностью подпроцесса, так как этот код заканчивается -и обработка данных для моделирования выполняется на C++.
import subprocess
import numpy as np
from matplotlib import pyplot as mpl
...
mpl.ion()
fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.grid(True)
ax.plot(x, y, 'g')
ax.scatter(X, Y, c='b')
ax.scatter(min_tilt, min_energy, c='r')
mpl.draw()
...
subprocess.call(prog)
Следующий подпроцесс действительно открывается. Если я уберу вызов ion()
и использую mpl.show()
, то график работает нормально, но весь процесс сохраняется до закрытия окна. Мне нужно, чтобы процесс продолжался, пока пользователь смотрит на график. Есть ли способ сделать это?