两行代码解决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函数中的函数(闭包)用法实例
Mar 15 Python
Python中列表、字典、元组数据结构的简单学习笔记
Mar 20 Python
Scrapy爬虫实例讲解_校花网
Oct 23 Python
python批量替换页眉页脚实例代码
Jan 22 Python
详解通过API管理或定制开发ECS实例
Sep 30 Python
Python类的继承、多态及获取对象信息操作详解
Feb 28 Python
Django中的静态文件管理过程解析
Aug 01 Python
python打造爬虫代理池过程解析
Aug 15 Python
Python pandas.DataFrame 找出有空值的行
Sep 09 Python
Python 实现数组相减示例
Dec 27 Python
Python2.7:使用Pyhook模块监听鼠标键盘事件-获取坐标实例
Mar 14 Python
基于Python和openCV实现图像的全景拼接详细步骤
Oct 05 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
通过缓存数据库结果提高PHP性能的原理介绍
2012/09/05 PHP
PHP 只允许指定IP访问(允许*号通配符过滤IP)
2014/07/08 PHP
thinkphp3.x中session方法的用法分析
2016/05/20 PHP
Prototype源码浅析 Enumerable部分(二)
2012/01/18 Javascript
再谈querySelector和querySelectorAll的区别与联系
2012/04/20 Javascript
node.js实现多图片上传实例
2014/06/03 Javascript
jQuery的:parent选择器定义和用法
2014/07/01 Javascript
让JavaScript的Alert弹出框失效的方法禁止弹出警告框
2014/09/03 Javascript
JQuery悬停控制图片轮播——代码简单
2015/08/05 Javascript
JavaScript获取各大浏览器信息图示
2015/11/20 Javascript
学习使用grunt来打包JavaScript和CSS程序的教程
2016/01/04 Javascript
理解JavaScript中Promise的使用
2016/01/18 Javascript
jQuery的框架介绍
2016/05/11 Javascript
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
2016/10/15 Javascript
利用浮层使select不可选的实现方法
2016/12/03 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
JS中‘hello’与new String(‘hello’)引出的问题详解
2018/08/14 Javascript
vue模式history下在iis中配置流程
2019/04/17 Javascript
CKEditor 4.4.1 添加代码高亮显示插件功能教程【使用官方推荐Code Snippet插件】
2019/06/14 Javascript
JavaScript实现横版菜单栏
2020/03/17 Javascript
解决Antd Table表头加Icon和气泡提示的坑
2020/11/17 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
Python和GO语言实现的消息摘要算法示例
2015/03/10 Python
python解决汉字编码问题:Unicode Decode Error
2017/01/19 Python
Django CSRF跨站请求伪造防护过程解析
2019/07/31 Python
python获取指定日期范围内的每一天,每个月,每季度的方法
2019/08/08 Python
python关于调用函数外的变量实例
2019/12/26 Python
numpy中生成随机数的几种常用函数(小结)
2020/08/18 Python
大学生四个方面的自我评价
2013/09/19 职场文书
2014大学生全国两会学习心得体会
2014/03/13 职场文书
赔偿协议书范本
2014/04/15 职场文书
交通文明倡议书
2014/05/16 职场文书
甘南现象心得体会
2014/09/11 职场文书
护理心得体会范文
2016/01/22 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS