在使用matplotlib的过程中,发现不能像matlab一样同时开几个窗口进行比较,于是查询得知了交互模式,但是放在脚本里运行的适合却总是一闪而过,图像并不停留,遂仔细阅读和理解了一下文档,记下解决办法,问题比较简单,仅供菜鸟参考。
python可视化库matplotlib有两种显示模式:
在Python Consol命令行中,默认是交互模式。而在python脚本中,matplotlib默认是阻塞模式。
在交互模式下:
在阻塞模式下:
下面这个例子讲的是如何像matlab一样同时打开多个窗口显示图片或线条进行比较,同时也是在脚本中开启交互模式后图像一闪而过的解决办法:
import matplotlib.pyplot as plt
plt.ion() # 打开交互模式
# 同时打开两个窗口显示图片
plt.figure()
plt.imshow(i1)
plt.figure()
plt.imshow(i2)
# 显示前关掉交互模式
plt.ioff()
plt.show()