错误RuntimeError: Invalid DISPLAY variable

时间:2023-03-08 21:08:18

原因:matplotlib的backend中的FltkAgg, GTK, GTKAgg, GTKCairo, TkAgg , Wx or WxAgg这几个backend都要求有GUI图形界面的

首先查看了一下本机matplotlib的默认backend为:

user@home:/opt/user$ python
Python 3.6. |Anaconda custom (-bit)| (default, Oct , ::)
[GCC 7.2.] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import matplotlib.pyplot as plt
>>> plt.get_backend()
'Qt5Agg'

但是因为我上面没有GUI,所以会报错:RuntimeError: Invalid DISPLAY variable

为了解决这个问题,在代码中添加上:

plt.switch_backend('agg')

解决方法:指定不需要GUI的backend(Agg, Cairo, PS, PDF or SVG

然后问题就解决了