无GUI环境下的Python Matplotlib绘图

Matplotlib Graphing without GUI

Posted by zihengCat on 2018-05-15

前言

Matplotlib绘图库默认使用X11的用户图形界面(GUI)展示绘制的图形,对于不带GUI的服务器系统,想要使用Matplotlib绘图需要做一些额外配置。

服务器端「无GUI」使用Matplotlib绘图

想让Matplotlib在无图形界面(GUI)的环境下绘图,我们需要先导入maptlotlib包,再为其指定使用的后端(Backend)绘图引擎。最简单的情况,就是设置使用Agg作为后端绘图引擎,Agg的含义是「C++ Antigrain」绘图引擎,它不仅能够渲染出高质量的PNG图片,还支持导出其他格式「PDF, PS, EPS, SVG」图片。

配置Matplotlib使用Agg后端引擎非常简单,导入maptlotlib库,使用use方法配置即可。注意,配置后端这一动作要在导入pylabpyplot之前完成。

# do this before importing pylab or pyplot
import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
# ...

代码清单:Matplotlib配置Agg后端引擎

参考资料