Notebook中Matplotlib绘图的中文乱码

【问题描述】我们在使用jupyter的NoteBook进行python脚本编程,若使用Matplotlib进行绘制效果图,在显示中文时可能会遇到乱码的问题,提示和具体的效果图如下:
 

Notebook中Matplotlib绘图的中文乱码
图片来源于网络

究其原因是原生的jupyter中的Matplotlib库缺少中文字体的支持,所以最佳的解决方案就是在Matplotlib中添加中文字体的支持,并修改配置文件即可。

【具体的解决方案】

1.下载所需的字体库SimHei.ttf,根据自己的系统版本选择对应版本的字体。具体的下载地址见文章末尾

2.将该字体复制到\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\目录下

3.修改配置文件:\Lib\site-packages\matplotlib\mpl-data\matplotlibrc

  • font.family         : sans-serif (去掉注释)
    
  • font.sans-serif (去掉注释)
    替换上述语句为:
    font.sans-serif     :SimHei, DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

4.更新配置,使之生效,清除机器缓存

在终端或者cmd中,依次键入如下命令:

python


from matplotlib.font_manager import _rebuild


_rebuild()

5.重启Jupyter Notebook即可生效

 

6.写在最后

本文是题主遇到该问题时,在网上收集了各种资料后,解决了该问题,觉得收获颇多。故再次将其展示与博客,希望能和大家共勉,一起去贡献出更精彩的博客!

注:字体下载地址: 

链接: https://download.csdn.net/download/birduncle/11026266


题主只是一个入门的小学生,希望大家多多指教!如果该帖子确实能解决您的问题,望多多留言,谢谢!