如何在matplotlib中使用中文

matplotlib原生是不支持中文的,但是因为画图中文方便一点,所以解决了一下这个问题。

查看字体目录位置

首先进入python查看一下自己电脑的字体存放位置

1
2
>>> import matplotlib
>>> print matplotlib.matplotlib_fname()

我的mac打印出的信息在

/Users/junxianshen/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc

字体目录就在

/Users/junxianshen/anaconda2/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf/

下载并安装

然后下载一个黑体简体中文字体,比如在这里下

  • http://www.font5.com.cn/font_download.php?id=151&part=1237887120

然后复制到上面的字体目录中

清空缓存

接下来移除缓存,我的mac缓存目录在~/.matplotlib/,我是把里面的东西都删掉了。

正式使用

在python中添加一些中文必须的东西,比如

1
# -*- coding: utf-8 -*-

然后使用的时候例如

1
2
3
plt.plot(max_xval, max_cdf_yval)
plt.xlabel(u'最大流量', fontproperties='SimHei')
plt.show()
  • 注意,plt.xlabel()中还可以添加fontsize属性,如plt.xlabel(u'横轴:时间',fontproperties = 'SimHei',fontsize = 20)