如何解决pylab.pause引发的弃用警告?
下面是一个简单的Python程序,用来展示我一直遇到的一个问题:
import pylab
pylab.ion()
pylab.title('doom')
pylab.pause(0)
如果我运行这个程序,它能正常工作,但我会收到一个警告:
/usr/lib/pymodules/python2.7/matplotlib/backend_bases.py:2280: MatplotlibDeprecationWarning: Using default event loop until function specific to this GUI is implemented
如果我把暂停的那一行去掉,虽然就不会有警告了,但我的图表在程序结束后就消失了。
我希望能找到一个优雅的方法,既能实现我想要的效果,又不会有警告。有没有人能帮帮我?
3 个回答
1
看起来 waitforbuttonpress 这个功能可以满足你的需求。只需要把 pause
替换成 pylab.waitforbuttonpress(timeout=-1)
就可以了。
3
使用 warnings
模块。
https://pymotw.com/2/warnings/
import warnings
..
..
warnings.filterwarnings("ignore",".*GUI is implemented.*")
这个功能会在发出警告时,查找内容中是否有“Gui is implemented”这个模式,如果有的话就会忽略这个警告,但其他的警告还是会被报告出来。
1
看起来这个问题已经在 matplotlib 中修复了,所以更新这个库应该就能解决问题。
pip install --upgrade matplotlib