内容简介:用 matplotlib 画图无法显示中文问题的根源及解决方案
用pandas 或者 matplotlib 画图时,遇到中文时会显示出乱码
分析其原因,matplotlib 初始化时首先要加载配置文件,配置文件的名字叫 matplotlibrc
,字体设置也在这个配置文件中,之所有无法正常显示中文是因为 matplotlib 默认不支持中文字体,解决的办法是我们需要在配置文件中指定一个 matplotlib 可用的中文字体。
第一步:下载中文字体
在网站下载 SimHei 字体 http://www.fontpalace.com/font-details/SimHei/ ,该字体即有Windows字体也有Mac字体。下载后双击打开安装字体
第二步:找到配置文件 matplotlibrc
找到 matplotlib 加载的配置文件路径可以通过如下方式:
>>> import matplotlib >>> matplotlib.matplotlib_fname() '/Users/<USERNAME>/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc'
编辑 matplotlibrc 文件,找到 font.family 和 font.sans-serif 这两行,去掉注释,并添加 SimHei 字体到 font.sans-serif 中,如下:
font.family : sans-serif font.sans-serif : SimHei, DejaVu Sans, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
第三步:删除缓冲目录
rm -rf ~/.matplotlib
第四步:重启jupyter notebook
如果你是在 ipython 环境下画图就重启 ipython,如果时 juypter notebook 画图 就重新 juypter notebook。
关注公众号「Python之禅」(id:vttalk)获取最新文章
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 无法预测的根源——随机数
- 一次深究 Bug 根源的案例
- [译] 虚构问题,低质量软件的根源
- 漫谈分布式系统(十四):致性问题的根源
- 微软 Windows 10 bug 不断,问题根源在哪?
- 找到bug的根源,问五次为什么
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
《Unity3D网络游戏实战(第2版)》
罗培羽 / 机械工业出版社 / 2019-1-1 / 89.00元
详解Socket编程,搭建稳健的网络框架;解决网游中常见的卡顿、频繁掉线等问题;探求适宜的实时同步算法。完整的多人对战游戏案例,揭秘登录注册、游戏大厅、战斗系统等模块的实现细节。 想要制作当今热门的网络游戏,特别是开发手机网络游戏,或者想要到游戏公司求职,都需要深入了解网络游戏的开发技术。本书分为三大部分,揭示网络游戏开发的细节。 第一部分“扎基础”(1-5章) 介绍TCP网络游......一起来看看 《《Unity3D网络游戏实战(第2版)》》 这本书的介绍吧!