200字范文,内容丰富有趣,生活中的好帮手!
200字范文 > (20)python_matplotlib解决中文乱码问题

(20)python_matplotlib解决中文乱码问题

时间:2019-10-10 17:32:57

相关推荐

(20)python_matplotlib解决中文乱码问题

文章目录

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文件夹就是了。亲策有效

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。