【发布时间】:2014-03-30 17:54:26
【问题描述】:
使用 matplotlib 时:
from matplotlib import pyplot as plt
figure = plt.figure()
ax = figure.add_subplot(111)
ax.plot(x,y)
figure.show() # figure is shown in GUI
# How can I view the figure again after I closed the GUI window?
figure.show() # Exception in Tkinter callback... TclError: this isn't a Tk application
figure.show() # nothing happened
所以我的问题是:
如果我调用了 figure.show(),如何找回之前的情节?
如果我有多个数字,
figure.add_suplot(111)是否有更方便的替代方案,因此from pylab import *; plot(..); show()似乎不是我正在寻找的解决方案。
而我迫切想要的是
showfunc(stuff) # or
stuff.showfunc()
其中stuff 是一个对象,其中包含排列在一张图片中的所有图,showfunc 是无状态的(我的意思是,每次调用它时,我的行为就像是第一次调用它一样)。与matplotlib 合作时这可能吗?
【问题讨论】:
-
不清楚这里的问题是什么。你指的是之前的哪个情节?
-
@ebarr 我的意思是,我如何在关闭 GUI 窗口后再次查看该图?再次创建
figure和plot?我认为应该有更好的方法来做到这一点。 -
所以
show应该只在脚本中运行一次,因为它会启动 Tk 主循环运行。文档说“版本 v1.0.0 中的新功能:show 现在仅在 GUI 主循环尚未运行时才启动它。因此,现在允许对 show 进行多次调用。”。您能否添加更多有关您需要此功能的信息?您是在构建 GUI,还是只想一个接一个地查看图表? -
你使用的是什么版本的
matplotlib? -
@ebarr 看图一个接一个。
标签: python matplotlib