因为matplotlib默认字体中是没有中文的,所以,当我们使用中文做图形标签时,将会无法显示,如上图,标题的“年度乘客总量”没有显示出来。解决这个问题需要将中文字体放到工具包的特定子文件中,具体操作如下:
1. matplotlib的安装路径
在python IDE中输入查看路径
import matplotlib as mlp
print mlp
2. 在终端中查看matplotlib字体的路径
matplotlib的字体放在工具包子文件夹mpl-data>>>fonts>>>ttf中
可以看到工具包包括的字体
在终端中输入pwd获得当前路径,复制下来。
3. 将中文字体复制到matplotlib工具包文件中
在终端用 cp -r (中文字体当前路径) (粘贴matplotlib工具包的字体路径)
4. 重复第2步,看看中文字体是否在工具包字体文件夹中
#在title参数中加入选定字体
myfont=FontProperties(fname='/Applications/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/SourceHanSansCN-Normal.otf')
plt.title(u'年度乘客总量',fontproperties=myfont,fontsize=15)
最后运行代码,就可以显示出中文