2016-07-22 85 views
0

是否可以在matplotlib中多次显示单个图形?用matplotlib多次显示图形

我要寻找的是可以大致类似于以下的解决方案:

fig1 = plt.figure() 
fig2 = plt.figure() 

ax1 = fig1.add_subplot(111) 
ax2 = fig2.add_subplot(111) 

ax1.imshow(a) 
ax2.imshow(b) 

fig1.show() 
fig2.show() 
fig1.show() 

这似乎在IDLE工作,数字保持活跃,直至关闭,我可以输入IDLE打开,而旧的新的数字一个仍然活跃。尽管当我运行脚本时,这不起作用。这与交互模式有什么关系?

我也试图暂停运行脚本时的情节:

fig1.show() 
plt.pause(10) 

但这种立即显示这两个数字。为什么IDLE能够显示fig1.show()并等待它关闭,但在运行脚本时,fig1.show()会立即关闭,除非暂停?为什么它会同时显示所有数字,而不仅仅是一个实例?

回答

-1

如果你在里面运行matplotlib,例如ipython,你应该使用fig1.show()来显示数字,同时避免阻塞ipython终端。但是,如果您想从cmd运行脚本,即使用python script.py,则应该改为使用plt.show()(请注意,即使您有多个数字,也只需使用plt.show()即可),这将使数字保持不变。

+0

是的,这是有道理的,但我的主要问题是关于别的东西。 在脚本模式(即python script.py)下运行时,可以用plt.show()显示两次相同的数字吗?我的观点是,我可以用fig.show()在交互模式下做到这一点。脚本中有没有办法做到这一点? – jolaem