调用matplotlib库出现中文无法显示的问题:
(1)代码报错路径error:
...Anaconda3\Lib\site-packages\matplotlib\font_manager.py:1328:
(2)报错内容:
UserWarning: findfont: Font family ['MicroSoft YaHei'] not found.Falling back to DejaVu Sans(prop.get_family(), self.defaultFamily[fontext]))
(3)报错图片:
将C:\Windows\Fonts\simhei.ttf文件复制到...Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹下
=====>修改配置文件:...Anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
【(1)去除font.family前的#(2)去除font.serif 前的# ,在这一行的冒号后添加: SimHei 】
=====>代码本身应包含语句:
plt.rcParams['font.sans-serif'] = ['SimHei'] #显示中文
plt.rcParams['axes.unicode_minus']=False
=====>重启kernel并运行
(1)电脑本身的字体font路径,各种ttf即为不同字体:
C:\Windows\Fonts
字体 黑体路径:
C:\Windows\Fonts\simhei.ttf
(2)将simhei.ttf复制到...Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夹下:
(3)修改配置文件matplotlibrc:
...Anaconda3\\Lib\site-packages\matplotlib\mpl-data\matplotlibrc
用notepad++修改,快捷键【Ctrl+F】搜索:font
(1)去除font.family前的#
(2)去除font.serif 前的# ,在这一行的冒号后添加: SimHei
(3)快捷键 【Ctrl+s】保存
没修改前:
修改后:
(4)代码块本身应包含语句:
plt.rcParams['font.sans-serif'] = ['SimHei'] #显示中文
plt.rcParams['axes.unicode_minus']=False
(5)最终,在jupyter的Kernel选择 Restart&Run all,结果正常
(6)补充:
如果仍然报错,则修改font_manager.py:
...Anaconda3\Lib\site-packages\matplotlib\font_manager.py
【Ctrl+F】搜索关键词:self.defaultFamily
修改部分如下:
四、参考网址:
python3用matplotlib绘图出现中文乱码UserWarning: findfont: Font family [‘sans-serif‘] not found._yl4548的博客-CSDN博客https://blog.csdn.net/yl4548/article/details/107232170