一、环境描述
python 3.7
mac 10.15.4
二、问题描述
使用matplotlib绘制图片的时候,所有的中文字符无法正常显示。
三、解决方法
1、下载字体ttf文件
链接:https://pan.baidu.com/s/1RLVvbIi_NpAiiycBYQRPCQ 密码:n1sv
2、找到配置文件
使用如下代码找到配置文件:
import matplotlib
print (matplotlib.matplotlib_fname()) # 将会获得matplotlib配置文件
使用homebrew的配置如下图:
/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
3、找到ttf字体文件存放目录并添加ttf文件
直接前往/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/文件夹,看到存在目录fonts目录,找到里面ttf目录,matplotlib所能用到的字体全部都在这个下边了。
打开目录/usr/local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/,将刚刚下载的simhei.ttf复制到此文件夹下,并将simhei.ttf添加到fontList.json中,如下图:
4、重新加载新的字体库
使用下面代码加载新的字体库:
from matplotlib.font_manager import _rebuild
_rebuild()
注意,这个只需要执行一次即可。
5、在画图中应用simhei字体
使用如下代码引用simhei字体:
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei']
其最终效果如下,中文可以正常显示。
参考链接:https://blog.csdn.net/quiet_girl/article/details/103398605