Matplotlib无法通过rc文件加载中文字体

时间:2016-09-05 06:58:09

标签: python matplotlib

根据official doc,我可以通过在matplotlibrc(我在Mac上)下创建~/.matplotlib/文件来加载自定义rc文件。在我这样做之后,我可以验证我当前的笔记本是从新创建的rc文件加载的:

In [6]: mlab.matplotlib_fname()
Out[6]: '/Users/cheng/.matplotlib/matplotlibrc'

问题是我为sans-serif类型定义了一些额外的字体:

font.family         : sans-serif
font.sans-serif     : PingFang SC, Hiragino Sans GB, Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

当我检查font.sans-serif的值时,这是我得到的:

In [4]: mlab.rcParams['font.sans-serif']
Out[4]: ['Arial', 'Liberation Sans', 'Bitstream Vera Sans', 'sans-serif']

我不明白为什么加载了rc文件,但没有根据文件设置字体设置。

有什么建议吗?

更新

我手动更改了字体值:

In [4]: mlab.rcParams['font.sans-serif'] = 'PingFang SC, Hiragino Sans GB, Microsoft YaHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif'
In [4]: mlab.rcParams['font.sans-serif']
Out[4]: ['PingFang SC',
         'Hiragino Sans GB',
         'Microsoft YaHei',
         'Bitstream Vera Sans',
         'Lucida Grande',
         'Verdana',
         'Geneva',
         'Lucid',
         'Arial',
         'Helvetica',
         'Avant Garde',
         'sans-serif']

但是当我绘制一个情节时,中文字符(我手动添加的字符)仍然显示为方块。似乎配置font.sans-serif设置不会产生任何差异。

0 个答案:

没有答案