欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

解决matplotlib中文乱码问题

程序员文章站 2022-03-21 14:27:12
...

转载请注明出处: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中文乱码