两行代码解决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获取当前运行函数名称的方法实例代码
Apr 06 Python
利用Opencv中Houghline方法实现直线检测
Feb 11 Python
python使用phoenixdb操作hbase的方法示例
Feb 28 Python
Django 实现图片上传和显示过程详解
Jul 18 Python
详解如何用TensorFlow训练和识别/分类自定义图片
Aug 05 Python
一行python实现树形结构的方法
Aug 09 Python
Python 字符串类型列表转换成真正列表类型过程解析
Aug 26 Python
Python分割训练集和测试集的方法示例
Sep 19 Python
Python交互环境下打印和输入函数的实例内容
Feb 16 Python
Python基于字典实现switch case函数调用
Jul 22 Python
Python自动发送和收取邮件的方法
Aug 12 Python
基于Python实现将列表数据生成折线图
Mar 23 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中VC6、VC9、TS、NTS版本的区别与用法详解
2013/10/26 PHP
codeigniter数据库操作函数汇总
2014/06/12 PHP
PHP动态编译出现Cannot find autoconf的解决方法
2014/11/05 PHP
php for 循环使用的简单实例
2016/06/02 PHP
PHP简单实现合并2个数字键数组值的方法
2017/05/30 PHP
php基于SQLite实现的分页功能示例
2017/06/21 PHP
Laravel5.1 框架表单验证操作实例详解
2020/01/07 PHP
ext for eclipse插件安装方法
2008/04/27 Javascript
JQuery 操作/获取table具体代码
2013/06/13 Javascript
在jquery boxy中添加百度地图坐标拾取注意流程
2014/04/03 Javascript
Javascript获取CSS伪元素属性的实现代码
2014/09/28 Javascript
JQuery 实现在同一页面锚点链接之间的平滑滚动
2014/10/29 Javascript
基于BootStrap Metronic开发框架经验小结【五】Bootstrap File Input文件上传插件的用法详解
2016/05/12 Javascript
老司机带你解读jQuery插件开发流程
2016/05/16 Javascript
javascript正则表达式中分组详解
2016/07/17 Javascript
JS 在数组指定位置插入/删除数据的方法
2017/01/12 Javascript
AngularJS 使用ng-repeat报错 [ngRepeat:dupes]
2017/01/19 Javascript
Angular组件化管理实现方法分析
2017/03/17 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
微信小程序网络请求wx.request详解及实例
2017/05/18 Javascript
使用JavaScript实现点击循环切换图片效果
2017/09/03 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
基于Bootstrap表单验证功能
2017/11/17 Javascript
微信小程序实现红包功能(后端PHP实现逻辑)
2018/07/11 Javascript
JavaScript实现拖拽盒子效果
2020/02/06 Javascript
python模块restful使用方法实例
2013/12/10 Python
python求斐波那契数列示例分享
2014/02/14 Python
Python中实现远程调用(RPC、RMI)简单例子
2014/04/28 Python
django反向解析URL和URL命名空间的方法
2018/06/05 Python
基于python生成器封装的协程类
2019/03/20 Python
python tools实现视频的每一帧提取并保存
2020/03/20 Python
python批量提取图片信息并保存的实现
2021/02/05 Python
外贸公司实习自我鉴定
2013/09/24 职场文书
师说教学反思
2014/02/07 职场文书
婚庆司仪开场白
2015/05/29 职场文书
python双向链表实例详解
2022/05/25 Python