两行代码解决Jupyter Notebook中文不能显示的问题
程序员文章站
2022-03-10 08:38:06
1、为什么不显示中文:matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。图片显示情况:2、解决方案:在代码块加上这两行代码:plt.rcparams[‘font.sans-ser...
1、为什么不显示中文:
matplotlib默认不支持中文字符,因为默认的英文字体无法显示汉字。
图片显示情况:
2、解决方案:
在代码块加上这两行代码:
plt.rcparams[‘font.sans-serif']=[‘simhei'] #用来正常显示中文标签 plt.rcparams[‘axes.unicode_minus']=false #用来正常显示负号
图片显示情况:
补充jupyter-notebook 中matplotlib不支持中文的问题(linux)
前言
问题就不截图了, jupyter-notebook中,使用plt画出的图像,中文都是小方格(乱码)
解决方法如下
1. linux安装字体
把windows的字体c:/windows/fonts复制到linux系统的存放字体路径/usr/share/fonts下, 如图:
cd到/usr/share/fonts/fonts,也就是拷贝来的文件夹, 建立字体索引信息,更新字体缓存,让字体生效, 运行命令:
mkfontscale && mkfontdir && fc-cache -fv && source /etc/profile && fc-list |wc -l
查看字体fc-list :lang=zh
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
如图,可以正常显示中文了
3. 如果还不行,清除缓存
如果添加了第二部的配置,但还是显示中文乱码, 那么有可能是缓存的问题, 执行rm -r ~/.cache/matplotlib
以上为个人经验,希望能给大家一个参考,也希望大家多多支持。如有错误或未考虑完全的地方,望不吝赐教。
推荐阅读
-
解决pycharm界面不能显示中文的问题
-
两行代码解决Jupyter Notebook中文不能显示的问题
-
Jupyter notebook画图中文显示乱码,靠谱的解决办法
-
验证码不能显示?通常都是BOM信息惹的祸此代码能解决验证码不能显示问题.
-
win7显示文件后缀名 php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
-
验证码不能显示?通常都是BOM信息惹的祸此代码能解决验证码不能显示问题.
-
Linux下MySQL的中文不能显示及sock链接错误问题解决
-
win7显示文件后缀名 php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
-
通过swagger2markup+asciidoctorj生成html和pdf文档并解决asciidoctorj生成的pdf文件中文显示不全问题(maven方式及java代码方式)
-
Linux下MySQL的中文不能显示及sock链接错误问题解决