オブジェクト Plotter に次のメソッドがある python スクリプトに取り組んでいます。
import matplotlib.pyplot as plt
class Plotter:
def __init__(self):
self.nbfig = 0
def plot(self):
self.nbfig += 1
plt.figure(self.nbfig)
plt.plot(self.time, self.angle, 'b')
plt.ion()
plt.show()
Pythonスクリプトは、何かをプロットする必要があるときはいつでも、リアルタイムC++アプリによって呼び出されます(そのため、プロットが別のスレッドで実行され、C++アプリを停止しないように plt.ion() を使用しています)しかし、時々 C++ アプリはアプリを更新する必要があり、次のメソッドを呼び出します。
def refresh(self):
if (self.nbfig > 0): #meaning the c++ app already plotted a figure
plt.close()
このメソッドは、角度をプロットした matplotlib ウィンドウを効果的に閉じます。ただし、メソッド plot (上記で定義) を 2 回目に呼び出すと、何もプロットされません (空のウィンドウが表示されます)。
plt.close() を呼び出すと、matplotlib のすべての動作に影響するようです (手動でウィンドウを閉じようとしたところ、スクリプトはさまざまなグラフを次々にプロットできます)。
この種の問題に遭遇したことがありますか?
助けてくれてどうもありがとう
一番
ヴィンセント