ユーザーがフィッティングが機能したことを確認できるようにプロットをポップアップさせようとしていますが、そうすることでプロセス全体を停止することはありません。ただし、ウィンドウが表示されている間は何も表示されず、「応答なし」になります。このコードはフロントエンドであり、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()
と、プロットは正常に機能しますが、ウィンドウが閉じるまでプロセス全体が保持されます。ユーザーがグラフを見ている間、プロセスを続行する必要があります。これを行う方法はありますか?