python matplotlib.pyplot plt.ioff()函数(关闭交互模式用于阻塞程序,不让图片关闭)

感觉ioff()函数就是个全局设置的东东,启动它,则图形绘制到最后窗口不会关闭(检测到有新的绘制就会更新窗口内容),否则因为开启了ion()交互模式,窗口绘制完就默认关闭

def ioff():
    """Turn the interactive mode off. 关闭交互模式。"""
    matplotlib.interactive(False)
    uninstall_repl_displayhook()

以下引用自:matplotlib 画动态图以及plt.ion()和plt.ioff()的使用

在使用matplotlib的过程中,常常会需要画很多图,但是好像并不能同时展示许多图。这是因为python可视化库matplotlib的显示模式默认为阻塞(block)模式。什么是阻塞模式那?我的理解就是在plt.show()之后,程序会暂停到那儿,并不会继续执行下去。如果需要继续执行程序,就要关闭图片。那如何展示动态图或多个窗口呢?这就要使用plt.ion()这个函数,使matplotlib的显示模式转换为交互(interactive)模式。即使在脚本中遇到plt.show(),代码还是会继续执行。

import matplotlib.pyplot as plt
plt.ion()    # 打开交互模式
# 同时打开两个窗口显示图片
plt.figure()  #图片一
plt.imshow(i1)
plt.figure()    #图片二
plt.imshow(i2)
# 显示前关掉交互模式
plt.ioff()
plt.show()

参考文章:matplotlib 画动态图以及plt.ion()和plt.ioff()的使用

你可能感兴趣的:(Python)