今天做 Udacity 的 P2 项目时发现Matplotlib中的中文无法正常显示。Google后找到了问题所在,解决方法如下。
开发环境:
- Mac OS 10.12.6
- Python 2.7
- Jupyter Notebook
- Anaconda
首先下载一份中文字体,最好是 ttf 格式。
我下载的是微软雅黑字体,mysh.ttf
找到 Matplotlib 中字体所在位置
我的字体位置在
~/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf
然后把下载好的字体放到该路径下
更改 Matplotlib 配置
Matplotlib 配置文件 matplotlibrc 所在路径如下
~/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data
打开 文件 matplotlibrc 找到 #font.sans-serif 和 #font.family 开头的两行,然后删掉 #,把自己添加的字体名称添加到 font.sans-serif 最前面的位置。
注:我添加的字体是微软雅黑,下载的字体文件名为 mysh.ttf,但是字体名称并不是 myssh,查看字体名称见下图。
配置好的 matplotlibrc 如下图所示
画图之前导入字体
导入字体方法如下
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['Microsoft YaHei']
把 Microsoft YaHei 换成 你自己的字体名称即可。
网友评论