• matplotlib可以交互式地用于python shell
      • matplotlib可以嵌入到wxpython或者pygtkGUI程序中
      • matplotlib可以在脚本中使用从而生成postscript image

      为了适应于这些场景,matplotlib针对这些target生成不同的输出格式。这种能力称之为backend

      • 交互式的backend:应用于pygtkwxpythontkinterqt4macosx等中
    1. 有多种方法来设置backend,其中后面提到的方法会覆盖前面的方法设置的:

      • matplotlibrc配置文件中设置的backend参数,如backend: WXAgg #使use wxpython with antigrain(agg) rendering
      • 设置MPLBACKEND环境变量,无论是在shell中设置还是在脚本中设置。
      • 对单个脚本设置backend时,可以直接在python命令后添加-d命令(这种方法不推荐,deprecated
      • 在脚本中使用特定的backend时,可以用matplotlib.use('PDF')命令。这条语句必须在import matplotlib.pyplot语句之前执行。如果在import matplotlib.pyplot之后执行use语句,则没有任何效果。通常建议避免使用use()方法,因为使用该脚本的人无法修改backend了。
    2. rendering engine :matplotlib提供的常用的rendering engineAgg,它采用的是Anti-Grain Geometry C++ library。除了之外的所有user interface都可以用agg rendering,如WXAgg,GTKAgg,QT4Agg,TkAgg这些backend

      下面是所有的Rendering engine

      • AGG:输出png格式文件。它可以输出高质量的图形
      • PS:输出ps\eps格式文件。它是Postscript output
      • PDF:输出pdf格式文件。
      • SVG:输出svg格式文件
      • Cairo:可以输出png、ps、pdf、svg...等格式文件