解决matplotlib中文乱码问题

转载请注明出处:http://blog.csdn.net/jinixin/article/details/77811680


matplotlib是知名的Python绘图库,但其在中文的支持上却不尽如人意,下面提供一种解决中文图例乱码的方法。



第一步

安装matplotlib后,在Python环境下执行:

import matplotlib
print matplotlib.matplotlib_fname()

在本机的执行结果为“/Users/root/xxx/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc”



第二步

参照上面的路径将任一字体文件(我选的是“SimHei.ttf”)复制到“/Users/root/xxx/lib/python2.7/site-packages/matplotlib/mpl-data/fonts/ttf”目录下;

“SimHei.ttf” 字体文件我也上传了一份到百度云,提取码是“4uhw”,点击这里可下载;



第三步

参照上面路径,编辑“/Users/root/xxx/lib/python2.7/site-packages/matplotlib/mpl-data/matplotlibrc”文件,将“font.family”修改为“SimHei”;


第四步

将本机 “家目录/.matplotlib/”(我这里是“/Users/root/.matplotlib/”)下的所有“xx.cache”文件都删除;



备注

Linux上要想成功运行matplotlib,还需在引入matplotlib库时加入以下代码:

import matplotlib
matplotlib.use('Agg')  # 适配Linux
from matplotlib import pyplot


上面四步做完,matplotlib图例上的中文就能正常显示了,该方法在Mac与Ubuntu上都能成功;个人建议还可以考虑使用前端绘图库来避开matplotlib这个坑且具有更好的交互性,比如“ECharts”等。



参考链接:

解决matplotlib中文乱码



猜你喜欢

转载自blog.csdn.net/jinixin/article/details/77811680