我正在研究Python的matplotlib库。 我开始理解它的一些基本复杂性,因为pylab和pyplot之间的区别,我试图复制和修改库中的一些例子。
我还不清楚的一件事是配置文件matplotlibrc的实际作用。
目前我在Windows 7下使用WinPython 3.3.5.0 64位分发。 .matplotlibrc文件位于WinPython-64bit-3.3.5.0 \ python-3.3.5.amd64 \ lib \ site-packages \ matplotlib \ mpl-data \ matplotlibrc
下我想开始更改一些选项,作为默认字体,所以我打开它,发现除了一个(后端:TkAgg)之外的所有行都被评论。
所以我想询问matplotlib从哪里获取所有默认值(例如字体属性)。在某个地方是否有另一个文件,或者它们在库中是否以某种方式“硬编码”? 感谢。
答案 0 :(得分:4)
根据文档和站点包目录中matplotlib\__init__.py
中的代码判断,您可以看到matplotlibrc
文件的搜索路径是:
Search order:
* current working dir
* environ var MATPLOTLIBRC
* HOME/.matplotlib/matplotlibrc
* MATPLOTLIBDATA/matplotlibrc
如果在这些路径中找不到文件,则会发出警告:
warnings.warn('Could not find matplotlibrc; using defaults')
matplotlibrc
文件只是对现有默认参数的更新。这些可以使用:
from matplotlib.rcsetup import defaultParams
(显然在matplotlib/rcsetup.py
)
在__init__.py
文件中,matplotlib遍历此字典并定义将用于所有脚本和代码的默认rc参数:
rcParamsDefault = RcParams([ (key, default) for key, (default, converter) in \
defaultParams.iteritems() ])
因此,如果您想知道默认值,请查看:
In [4]: import matplotlib
In [5]: matplotlib.rcParamsDefault
Out[5]:
{'agg.path.chunksize': 0,
'animation.bitrate': -1,
'animation.codec': 'mpeg4',
'animation.ffmpeg_args': '',
'animation.ffmpeg_path': 'ffmpeg',
'animation.frame_format': 'png',
'animation.mencoder_args': '',
'animation.mencoder_path': 'mencoder',
'animation.writer': 'ffmpeg',
...