用 matplotlib 画图无法显示中文问题的根源及解决方案

栏目: Python · 发布时间: 6年前

内容简介:用 matplotlib 画图无法显示中文问题的根源及解决方案

用pandas 或者 matplotlib 画图时,遇到中文时会显示出乱码

用 matplotlib 画图无法显示中文问题的根源及解决方案

分析其原因,matplotlib 初始化时首先要加载配置文件,配置文件的名字叫 matplotlibrc ,字体设置也在这个配置文件中,之所有无法正常显示中文是因为 matplotlib 默认不支持中文字体,解决的办法是我们需要在配置文件中指定一个 matplotlib 可用的中文字体。

第一步:下载中文字体

在网站下载 SimHei 字体 http://www.fontpalace.com/font-details/SimHei/ ,该字体即有Windows字体也有Mac字体。下载后双击打开安装字体

用 matplotlib 画图无法显示中文问题的根源及解决方案

第二步:找到配置文件 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)获取最新文章 用 matplotlib 画图无法显示中文问题的根源及解决方案


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

如何不在网上虚度人生

如何不在网上虚度人生

[美] 肯尼思·戈德史密斯 / 刘畅 / 北京联合出版公司 / 2017-9 / 39.80元

我们平时上网多大程度上是浪费时间,多大程度是在学习、关心社会、激发创造力?我们真能彻底断网,逃离社交网络吗? 手机把都市人变成一群电子僵尸,是福是祸? 浏览记录就是我们将来的回忆录吗?文件归档属于一种现代民间艺术? 不自拍、P图、发朋友圈,我还是我吗? 美国知名概念艺术家戈德史密斯认为:上网绝不是浪费时间,而是一种创造性的活动。在本书中他以跨学科角度、散文式语言进行论证,涉及大众传播学、计算......一起来看看 《如何不在网上虚度人生》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HSV CMYK 转换工具
HSV CMYK 转换工具

HSV CMYK互换工具