本节书摘来自异步社区《Python数据可视化编程实战》一书中的第1章,第1.9节,作者[爱尔兰]Igor Milovanović ,颛青山 译,更多章节内容可以访问云栖社区“异步社区”公众号查看。
1.9 为项目设置matplotlib参数
本节介绍matplotlib使用的各种配置文件的位置,以及使用这些配置文件的意义。同时还将介绍配置文件中的具体配置项。
1.9.1 准备工作
如果不想在每次使用matplotlib时都在代码开始部分进行配置(像前一节我们做的那样),就需要为不同的项目设定不同的默认配置项。本节将介绍如何做到这一点。这种配置方式使得配置项与代码分离,从而使代码更加整洁。此外,你可以很容易在同事间甚至项目间分享配置模板。
1.9.2 配置方法
假设一个项目对于matplotlib的特性参数总会设置相同的值,就没有必要在每次编写新的绘图代码时都进行相同的配置。取而代之的,应该是在代码之外,使用一个永久的文件设定matplotlib参数默认值。
通过matplotlibrc``来配置文件,matplotlib提供了对这种配置方式的支持。在matplotlibrc文件中包含了绝大部分可以变更的属性。
1.9.3 配置过程说明
配置文件可能存在于三个不同的位置,而它们的位置决定了它们的应用范围。这三个位置分别说明如下。
- 当前工作目录:即代码运行的目录。在当前目录下,可以为目录所包含的当前项目代码定制matplotlib配置项。配置文件的文件名是matplotlibrc。
- 用户级.matplotlib/matplotlibrc文件(Per user .matplotlib/matplotlibrc):通常是在用户的$HOME目录下(在Windows系统中,也就是Documents and Settings目录)。可以用matplotlib.get_configdir()命令来找到当前用户的配置文件目录。请参考随后的命令示例。
- 安装*级配置文件(Per installation configuration file):*通常在python的site-packages目录下。这是系统级配置,不过在每次重新安装matplotlib后,配置文件会被覆盖。因此如果希望保持持久有效的配置,最好选择在用户级配置文件中进行设置。对于笔者来说,目前对本配置文件的最佳应用方式,是将其作为默认配置模板。如果在用户级配置文件已经比较混乱,或者需要为新项目做全新配置时,可以基于该配置文件进行设置。
在shell中运行下面的命令,即可打印出配置文件目录的位置:
$ python -c 'import matplotlib as mpl; print mpl.get_configdir()'
配置文件包括以下配置项。
- axes:设置坐标轴边界和表面的颜色、坐标刻度值大小和网格的显示。
- backend:设置目标输出TkAgg和GTKAgg。
- figure:控制dpi、边界颜色、图形大小和子区(subplot)设置。
- font:字体集(font family)、字体大小和样式设置。
- grid:设置网格颜色和线型。
- legend:设置图例和其中文本的显示。
- line:设置线条(颜色、线型、宽度等)和标记。
- patch:是填充2D空间的图形对象,如多边形和圆。控制线宽、颜色和抗锯齿设置等。
- savefig:可以对保存的图形进行单独设置。例如,设置渲染的文件的背景为白色。
- text:设置字体颜色、文本解析(纯文本或latex标记)等。
- verbose:设置matplotlib在执行期间信息输出,如silent、helpful、debug和debug-annoying。
- xticks和yticks:为x、y轴的主刻度和次刻度设置颜色、大小、方向,以及标签大小。
1.9.4 补充说明
如果你想了解前面提到的(和我们没有提到的)每个设置的详细信息,最好的方式是访问matplotlib项目的网站,那里提供了最新的API文档。如果需要获得进一步帮助,可以在用户和开发邮件组留言。本书最后还提供了一些有用的在线资源。