有关详细信息,请参阅:什么是后端。您需要设置后端。后端有两种类型:用户界面后端(用于pygtk,wxpython,tkinter,qt4或macosx;也称为“交互式后端”)和用于制作图像文件的硬拷贝后端(PNG,SVG,PDF,PS;也称为“非交互式后端”)。
有四种配置后端的方法。如果它们彼此冲突,将使用下面列表中最后提到的方法,例如,调用use()将覆盖matplotlibrc中的设置。
matplotlibrc文件中的backend参数(请参阅自定义matplotlib):
backend : WXAgg # use wxpython with antigrain (agg) rendering
为您当前的shell或单个脚本设置MPLBACKEND环境变量:
> export MPLBACKEND="module://my_backend"
python simple_plot.py
MPLBACKEND=”module://my_backend” python simple_plot.py
设置此环境变量将覆盖任何matplotlibrc中的backend参数,即使当前工作目录中存在matplotlibrc。因此,不建议在例如.bashrc或.profile中全局设置MPLBACKEND,因为这可能会导致违反直觉的行为。
> python script.py -dbackend
不建议使用此方法,因为-d参数可能与解析命令行参数的脚本冲突(请参见问题#1986)。您应该改用MPLBACKEND。
import matplotlib
matplotlib.use(‘PS’) # generate postscript output by default
如果使用use()函数,则必须在导入matplotlib.pyplot之前完成此操作。导入pyplot后调用use()将无效。如果用户要使用其他后端,则使用use()将需要更改代码。因此,除非绝对必要,否则应避免显式调用use()。