matplotlib 中文标签乱码问题

ubuntu 下


1.查看系统中文字体

[hadoop@p168 ~]$ fc-list :lang=zh

显示结果 /usr/share/fonts/truetype/droid/DroidSansFallbackFull.ttf: Droid Sans Fallback:style=Regular

也就是说在我的系统中只有Droid Sans Fallback这一种中文字体.

2.将该字体的ttf文件复制到matplotlib/mpl-data/fonts/ttf目录下,以便运行matplotlib时候能够找到

cj@cj-HP-dx2718-MT-KM255AV:~$ sudo cp DroidSansFallbackFull.ttf  /usr/share/matplotlib/mpl-data/fonts/ttf

3.  修改配置文件matplotlibrc

  打开这个文件,找到font.family,font.style,font.variant ,font.weight ,font.stretch 这几个,把他们前面的#号去掉,   font.family冒号后面修改为 serif

  然后找到font.serif 这一行,把它前面的#号也去掉,这里由于我使用的上述1,2步骤中的文件DroidSansFallbackFull.ttf,在冒号后面加一个中文字体,即

  Droid Sans Fallback 。

  再找到axes.unicode_minus 这一行,把它前面的#号也去掉,然后把后面的True改为False(不然的话,减号会变成方块了)。


OK ,成功



你可能感兴趣的:(matplotlib 中文标签乱码问题)