用matplotlib画图的都知道,当执行plt.show()
的时候,图形会一直显示(即使在ipython在–pylab模型下打开也需要手动叉掉进行关闭,或者在命令行输入plt.close()
,Jupyter notebook在%matplotlib inline模式下打开不需要,应该是内部调用了多线程。。。),如果我们在代码中写了plt.show()
,如果不执行将图形显示手动关掉,则无法进入到接下来的代码运行,这样如果演示代码运行,则每次都需要手动关闭,显然不是我们想要的效果,程序员怎么能手动去叉掉它呢,这个时候可以考虑多线程,在plt.show()
执行之前,先执行plt.close()
,调用time.sleep()
, 通过设置休眠时间,可以自动关闭图形显示。
为什么不开两个线程,同时执行plt.show()
和plt.close()
呢,其实用多线程的时候我也先是考虑的是两个线程同时启动,先show后close,但是会一直出错,像这样:
# -*- coding: utf-8 -*-
# @Author: xiaodong