如何获取图形打开的信息?
How to access the information that a figure is open?
我想在 matplotlib 图打开时执行任务,我正在寻找这样的东西:
while "figure is open instruction" True:
i = 0
p = 0
av_p = 0
for i in range(5):
if abs(position[0] - 2) <=10**-2
p = mass * np.sqrt(velocity[0][0]**2 + velocity[0][1]**2)
av_p = (p+av_p)/i+1
print(av_p)
所以我试图在某个时间段内获取一组数据,一旦时间结束,获取数据的过程就会重新打开。
如果您要做的是更新绘图(实时),我建议您使用 pyqtgraph。特别是查看示例,其中一个显示了如何轻松更新绘图的曲线。
无论如何,要检查 window 是否打开,您可以尝试这样的操作:How to detect that an axis belong to a window that has been closed in matplotlib
# defining on_close event
def on_close(event):
event.canvas.figure.axes[0].has_been_closed = True
# ploting
fig = plt.figure()
a = fig.canvas.mpl_connect('close_event', on_close)
ax = fig.add_subplot(111)
ax.has_been_closed = False
ax.plot([1, 2, 3], [2, 4, 6])
plt.show()
if ax.has_been_closed:
print('closed')
然后你可以使用ax.has_been_closed
检查window是否关闭。请注意,您必须至少定义一个轴。
我想在 matplotlib 图打开时执行任务,我正在寻找这样的东西:
while "figure is open instruction" True:
i = 0
p = 0
av_p = 0
for i in range(5):
if abs(position[0] - 2) <=10**-2
p = mass * np.sqrt(velocity[0][0]**2 + velocity[0][1]**2)
av_p = (p+av_p)/i+1
print(av_p)
所以我试图在某个时间段内获取一组数据,一旦时间结束,获取数据的过程就会重新打开。
如果您要做的是更新绘图(实时),我建议您使用 pyqtgraph。特别是查看示例,其中一个显示了如何轻松更新绘图的曲线。
无论如何,要检查 window 是否打开,您可以尝试这样的操作:How to detect that an axis belong to a window that has been closed in matplotlib
# defining on_close event
def on_close(event):
event.canvas.figure.axes[0].has_been_closed = True
# ploting
fig = plt.figure()
a = fig.canvas.mpl_connect('close_event', on_close)
ax = fig.add_subplot(111)
ax.has_been_closed = False
ax.plot([1, 2, 3], [2, 4, 6])
plt.show()
if ax.has_been_closed:
print('closed')
然后你可以使用ax.has_been_closed
检查window是否关闭。请注意,您必须至少定义一个轴。