我正在使用python脚本在对象Plotter中使用以下方法:
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()
实时C ++应用程序在需要绘制某些内容时会调用python脚本(这就是为什么我使用plt.ion()以便绘图在不同的线程中运行并且不会停止c ++应用程序)的原因,有时c ++应用程序需要刷新应用程序并调用以下方法:
def refresh(self):
if (self.nbfig > 0): #meaning the c++ app already plotted a figure
plt.close()
这种方法有效地关闭了我绘制角度的matplotlib窗口。但是,当它第二次调用方法图(如上定义)时,不会绘制任何内容(出现一个空窗口)。
似乎调用plt.close()会影响matplotlib的所有行为(我尝试手动关闭窗口,并且脚本能够一个接一个地绘制不同的图)
您是否遇到过此类问题?
一只斗牛犬
相关分类