2011-05-13 96 views

回答

32

当然,仅仅打开一个新的人物:

import matplotlib.pyplot as plt 

plt.plot(range(10)) 

plt.figure() 
plt.plot(range(10), 'ro-') 

plt.figure(), plt.plot(...) 

plt.show() # only do this once, at the end 

如果你在默认的Python解释器运行这一点,这是行不通的,因为每个人物需要进入GUI的主循环。如果您想在交互式shell中运行,请查看IPython。如果你只是正常运行(即把它放到一个文件中,然后调用python filename.py),它会正常工作。

+5

正是在这样的答案隐含的(和我错过了),你应该只在最后一次调用'plt.show()'。这在http://stackoverflow.com/a/2399978/527489进一步讨论。如果您多次调用plt.show(),那么它仍会执行OP提到的排队(阻塞每个窗口,直到前一个窗口关闭)。 – sage 2015-12-03 18:32:21

+0

数字有像'fig.ion()'或者'ion()'这样的独立交互模式在全局应用吗? – CMCDragonkai 2016-10-14 15:53:17

1

使用plt.figure()和使用一定数量,使窗口是固定的:

plt.figure(200) 
plt.plot(x) 
plt.show() 

和其他情节,使用不同的号码:

plt.figure(300) 
plt.plot(y) 
plt.show() 
相关问题