【问题标题】:Displaying figure multiple times with matplotlib使用 matplotlib 多次显示图形
【发布时间】:2016-07-22 17:13:21
【问题描述】:

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() 会立即关闭,除非暂停?为什么它会同时显示所有图形而不是一个实例?

【问题讨论】:

    标签: python-2.7 matplotlib figure


    【解决方案1】:

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

    【讨论】:

    • 是的,这是有道理的,但是我的主要问题是关于其他事情。在脚本模式(即 python script.py)下运行时,我可以使用 plt.show() 显示相同的图形两次吗?我的观点是,我可以使用 fig.show() 在交互模式下做到这一点。有没有办法在脚本中做到这一点?
    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多