解决matplotlib不能显示中文的问题(Ubuntu)
解决matplotlib不能显示中文的问题(Ubuntu)
-
环境
- 系统:Ubuntu 14.04
- Python版本:2.7
-
解决办法
- 第一步,下载中文字体:SIMHEI.TTF。
我是直接在windows下复制到Ubuntu中的,在计算机中搜索simhei即可找到。需要放到两个地方:
1)放到系统文件夹下:
/usr/share/fonts
2) 放到matplotlib的字体文件夹下:
/usr/local/lib/python2.7/dist-packages/matplotlib/mpl-data/fonts/ttf/ -
第二步,修改配置文件。
找到配置文件位置:import matplotlib
print matplotlib.matplotlib_fname()我的配置文件在etc/matplotlibrc
然后打开修改,sudo vi matplotlibrc
找到font.family和font.sans-serif两项,将#注释去掉,并改为如下。
font-family : sans-serif
font.sans-serif : SIMHEI -
第三步,删除缓存文件(这一步很关键)。
找到fontList.cache文件sudo find / -name fontList.cache
假设我的在/home/user/.cache/matplotlib/fontList.cache,删除:
rm /home/user/.cache/matplotlib/fontList.cache
PS: 不删除缓存文件,最后还是不能显示中文。
-
第四步,画图代码部分
import matplotlib as mpl
font_name = ‘SIMHEI’
mpl.rcParams[‘font.family’] = font_name #用来正常显示中文标签
mpl.rcParams[‘axes.unicode_minus’]=False #用来正常显示负号
- 第一步,下载中文字体:SIMHEI.TTF。
最后就可以啦,放上一张测试的图哈