Windows下使用matplotlib画图中文无法显示的问题

报错情况

使用 jupyter notebook 画图的时候,坐标轴的刻度使用了中文,结果画图结果无法显示中文。

解决方案

  • 首先,因为 matplotlib 是外国人开发的,所以使用的字体并不支持中文,所以我们要修改matplotlib 的配置文件,使他使用支持中文的字体。
  • 下载一个支持中文字体的字体,我用的 SimHei 。可以直接从网上下载压缩包。随便下载到一个便于我们找到的路径下,下载好之后解压,双击直接安装,它会自动帮你安装到 “C:\Windows\Fonts”这个路径下的,这个路径就是我们系统所有字体的安装路径。或者你可以直接将解压后的文件转帖到Fonts文件夹里面,也就相当于安装好了。
  • 之后修改matplotlib的配置文件,或许你并不知道matplotlib的配置文件在哪里,这个时候你就需要使用cmd了,或者是anaconda带的prompt,两者都可以:
    Windows下使用matplotlib画图中文无法显示的问题
    根据提供的路径,找到并打开matplotlibrc 文件,找到font_family的信息:
    Windows下使用matplotlib画图中文无法显示的问题
    在这里,我们要去掉注释,并写入我们刚下载并安装好的字体:
    Windows下使用matplotlib画图中文无法显示的问题
  • 最后一步是清理matplotlib的缓存文件,至于为什么要清理缓存,大家应该都知道,程序运行的时候一般会先加载缓存里面编译好的文件,如果不清理,它一直使用的都会是原来的字体。
    打开目录:C:\Users\tzm.matplotlib 将里面的三个文件全部删除掉:
    Windows下使用matplotlib画图中文无法显示的问题
  • 这些都做完后,重新打开软件,运行代码,就会看到中文显示了:
    Windows下使用matplotlib画图中文无法显示的问题
    写作完毕!