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