在使用Matplotlob的过程中,我发现在绘图过程中输入的中文字均无法显示,网上查询大部分也都是Windows系统的解决方法,于是,经过我长时间的百度与尝试,终于解决了MacOS下Matplotlib输出中文乱码的问题。
步骤如下:
1.下载中文字体SimHei.tff,可以从以下链接下载;
/font-details/SimHei/
2.通过如下代码找到matplotlib加载的配置文件路径;
import matplotlibmatplotlib.matplotlib_fname()
3.根据第2步中得到的路径,由于我使用的是anaconda安装的python3,我的路径就是/Users/User_name/Applications/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/tff,将第一步中下载的字体粘贴到tff文件夹中去,并点击此文件安装;
4.修改配置文件matplotlibrc,文件的路径为/Users/User_name/Applications/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data.修改内容为如下:
将图中我框出来的的两列改成与上面相同,即第一个中去掉注释,第二个中去掉注释且在冒号之后添加'SimHei'。
然后是,
我框出来的这一列去掉注释,且改为False。
5.现在是最后一步,也是最重要的一步,现在重新启动终端,打开python,在命令行中输入
from matplotlib.font_manager import _rebuild-rebuild()
完成了!
这样在matplotlob中添加的中文标签,图例等都可以正常显示了!