解决matplotlib用终端在linux下画图时出现Could not connect to any X display错误

最近用matplotlib在ubuntu16.04下运行一个生产图片的python程序,总是会提示下面的错误:

QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/xxxxxxxx'

qt.qpa.screen: QXcbConnection: Could not connect to display :0.0
Could not connect to any X display.

起初我还以为是因为 imshow()函数导致的,关掉显示图片的代码也不行,最后找到原因是matplotlib会默认选择一个需要Xwindows的生成图片的方式(虽然实际上并不显示图片)。

知道原因了就好办了 

在程序中加上如下代码:

import matplotlib 
matplotlib.use('Agg')

注意一定要加在import matplotlib.pyplot之前,否则无效的

 

你可能感兴趣的:(python,matplotlib,linux,Xwindows)