使用matplotlib

时间:2016-07-22 17:13:22

标签: python-2.7 matplotlib figure

是否可以在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 个答案:

答案 0 :(得分:-1)

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