文章目录
1、问题描述2、解决方案2.1 查看matplotlib的字体路径2.2 下载SimHei字体2.3 释放matplotlib目录缓冲2.3.1 获取缓冲路径2.3.2 删除缓冲路径2.4 修改matplotlibrc文件2.5 重新打开编译器(我用的是pychram)3、重要!1、问题描述
python画图需要经常用到,但是标题或者坐标什么的一使用中文就出现乱码,于是今天就去网上找了一些方法解决一下,结果还是有效的。顺便说一句,网上提供的加两句代码那个在我的电脑上无效。
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
2、解决方案
2.1 查看matplotlib的字体路径
import matplotlibprint(matplotlib.matplotlib_fname())
2.2 下载SimHei字体
SimHei字体下载链接
把刚下载好的ttf文件复制到2.1中的路径里面。我的路径是下面这样的。
/home/barry/anaconda3/envs/Draw_Image/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf
2.3 释放matplotlib目录缓冲
2.3.1 获取缓冲路径
import matplotlibprint(matplotlib.get_cachedir())
2.3.2 删除缓冲路径
用下面的命令删除缓冲目录
rm -rf <address>
2.4 修改matplotlibrc文件
matplotlibrc文件在2.1中获取的路径中,按照下面的指示修改文件。
font.family : sans-serif # 去掉前面的#font.sans-serif: SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif # 去掉前面的#,并在冒号后面添加SimHeiaxes.unicode_minus : False# 去掉前面的#,并将True改为False
2.5 重新打开编译器(我用的是pychram)
重启以后,再使用matplotlib,标题中使用中文就不再是乱码了!!!
3、重要!
以上操作做完了就可以展示中文字体了,但是,如果再重新建一个项目,matplotlib又不能显示中文字体了。
解决方法是,把现在处理过的‘matplotlib’文件夹覆盖到你新建的项目里面的matplotlib文件夹就是了。亲策有效