两行代码解决Jupyter Notebook中文不能显示的问题


Posted in Python onApril 24, 2021

1、为什么不显示中文:

Matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。

图片显示情况:

两行代码解决Jupyter Notebook中文不能显示的问题

2、解决方案:

在代码块加上这两行代码:

plt.rcParams[‘font.sans-serif']=[‘SimHei'] #用来正常显示中文标签
plt.rcParams[‘axes.unicode_minus']=False #用来正常显示负号

两行代码解决Jupyter Notebook中文不能显示的问题

图片显示情况:

两行代码解决Jupyter Notebook中文不能显示的问题

补充jupyter-notebook 中matplotlib不支持中文的问题(Linux)

前言

问题就不截图了, jupyter-notebook中,使用plt画出的图像,中文都是小方格(乱码)

解决方法如下

1. Linux安装字体

把Windows的字体C:/Windows/Fonts复制到Linux系统的存放字体路径/usr/share/fonts下, 如图:

两行代码解决Jupyter Notebook中文不能显示的问题

cd到/usr/share/fonts/Fonts,也就是拷贝来的文件夹, 建立字体索引信息,更新字体缓存,让字体生效, 运行命令:

mkfontscale && mkfontdir && fc-cache -fv && source /etc/profile && fc-list |wc -l

查看字体fc-list :lang=zh

两行代码解决Jupyter Notebook中文不能显示的问题

2. 添加配置

这里有很多版本,比如:

import matplotlib
matplotlib.use('qt4agg')
#指定默认字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']
matplotlib.rcParams['font.family']='sans-serif' #解决负号'-'显示为方块的问题
matplotlib.rcParams['axes.unicode_minus'] = False

我的设置是:

from pylab import mpl
mpl.rcParams['font.sans-serif'] = ['STSong']
mpl.rcParams['axes.unicode_minus'] = False

如图,可以正常显示中文了

两行代码解决Jupyter Notebook中文不能显示的问题

3. 如果还不行,清除缓存

如果添加了第二部的配置,但还是显示中文乱码, 那么有可能是缓存的问题, 执行rm -r ~/.cache/matplotlib

两行代码解决Jupyter Notebook中文不能显示的问题

以上为个人经验,希望能给大家一个参考,也希望大家多多支持三水点靠木。如有错误或未考虑完全的地方,望不吝赐教。

Python 相关文章推荐
python实现监控linux性能及进程消耗性能的方法
Jul 25 Python
python+mysql实现简单的web程序
Sep 11 Python
python如何通过twisted实现数据库异步插入
Mar 20 Python
python实现跨excel的工作表sheet之间的复制方法
May 03 Python
使用Django开发简单接口实现文章增删改查
May 09 Python
简单介绍python封装的基本知识
Aug 10 Python
pyhton中__pycache__文件夹的产生与作用详解
Nov 24 Python
python如何调用字典的key
May 25 Python
什么是Python包的循环导入
Sep 08 Python
python中使用.py配置文件的方法详解
Nov 23 Python
python 爬虫网页登陆的简单实现
Nov 30 Python
用pip给python安装matplotlib库的详细教程
Feb 24 Python
python基础详解之if循环语句
Apr 24 #Python
解决jupyter notebook图片显示模糊和保存清晰图片的操作
Jupyter notebook 输出部分显示不全的解决方案
Apr 24 #Python
Python opencv缺陷检测的实现及问题解决
解决jupyter notebook启动后没有token的坑
numpy数据类型dtype转换实现
Apr 24 #Python
解决python存数据库速度太慢的问题
Apr 23 #Python
You might like
人大复印资料处理程序_查询篇
2006/10/09 PHP
php 日期和时间的处理-郑阿奇(续)
2011/07/04 PHP
总结PHP中初始化空数组的最佳方法
2019/02/13 PHP
jQuery的强大选择器小结
2009/12/27 Javascript
页面图片浮动左右滑动效果的简单实现案例
2014/02/10 Javascript
Javascript调用函数方法的几种方式介绍
2015/03/20 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
js+canvas绘制五角星的方法
2016/01/28 Javascript
修复jQuery tablesorter无法正确排序的bug(加千分位数字后)
2016/03/30 Javascript
通过正则表达式获取url中参数的简单实现
2016/06/07 Javascript
JS继承之借用构造函数继承和组合继承
2016/09/07 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
关于在mongoose中填充外键的方法详解
2017/08/14 Javascript
微信小程序使用canvas的画图操作示例
2019/01/18 Javascript
Vue keepAlive 数据缓存工具实现返回上一个页面浏览的位置
2019/05/10 Javascript
layui type2 通过url给iframe子页面传值的例子
2019/09/06 Javascript
swiperjs实现导航与tab页的联动
2020/12/13 Javascript
Python获取单个程序CPU使用情况趋势图
2015/03/10 Python
Python实现栈的方法
2015/05/26 Python
Python创建模块及模块导入的方法
2015/05/27 Python
Python多维/嵌套字典数据无限遍历的实现
2016/11/04 Python
Python实现输出程序执行进度百分比的方法
2017/09/16 Python
python爬虫中get和post方法介绍以及cookie作用
2018/02/08 Python
python使用mitmproxy抓取浏览器请求的方法
2019/07/02 Python
解决Pycharm的项目目录突然消失的问题
2020/01/20 Python
Linux中如何用命令创建目录
2016/12/02 面试题
int和Integer有什么区别
2013/05/25 面试题
质量主管工作职责
2014/09/26 职场文书
家长高考寄语
2015/02/27 职场文书
2015年重阳节主持词
2015/07/04 职场文书
2016优秀青年志愿者事迹材料
2016/02/25 职场文书
毕业生就业推荐表自我鉴定
2019/06/20 职场文书
使用Vue3+Vant组件实现App搜索历史记录功能(示例代码)
2021/06/09 Vue.js
Spring中的@Transactional的工作原理
2022/06/05 Java/Android