【发布时间】:2016-01-09 14:36:48
【问题描述】:
我有一些 python 模拟代码,运行一两分钟,并实时显示模拟的输出。
我想在两个不同的图形窗口上显示结果。因为我使用的是面向对象的设计,所以使用figure(x) 命令在图形之间切换有点困难,所以我想将每个图形的引用保存到每个变量并使用它返回它们。我的设置如下:
import pylab as p
f0 = p.figure()
f1 = p.figure()
ax0 = f0.add_subplot(111)
ax0.plot(range(0,50))
ax1 = f1.add_subplot(111)
ax1.plot(range(0,20))
ax1.text(0,1,"This is updatable",weight='bold',fontsize=16)
ax0.text(0,1,"This one, drawn first, is not.",weight='bold',fontsize=16)
p.pause(5)
问题是,一旦我创建并访问了第二个图,第一个图就无法再访问了。
我正在使用 matplotlib 并使用带有 MacOSX 交互式后端的 Pycharm CE 运行 Python 2.7.6。
有人知道怎么设置吗?我是否为此类问题使用了错误的绘图包?
更新:我发现如果我关闭第一个窗口只是使用鼠标访问窗口控件,那么第二个窗口将被更新。不过,这并不能解决我的问题。
【问题讨论】:
-
尝试在末尾添加“p.show()”
-
不走运@problemMaker,虽然我发现无论是否添加了 p.show() ,如果我关闭第一个窗口只是使用鼠标访问窗口控件,那么第二个窗口会更新。
标签: oop