解决Linux环境下Jupyter Lab平台使用python的Matplotlib函数库绘图时无法识别中文字体问题——永久识别方法

一、在Windows环境下下载相应字体

SimHei字体为例,现在下面的网址中下载该字体到本地电脑

http://xiazaiziti.com/210356.html

如下图,通过X-ftp(Windows与Linux服务器传输文件的工具)传输到Linux服务器相应目录中,我的参考目录是:

/root/miniconda3/envs/rapids-23.02/lib/python3.10/site-packages/matplotlib/mpl-data/fonts/ttf
参考目录

二、更改matplotlibrc配置文件

1、在X-shell(或者其他Linux服务器远程终端)中打开matplotlibrc文件,

可以在python编译器中输入下面两行代码即可找到该文件的位置

import matplotlib
matplotlib.matplotlib_fname()

输出见下图
在这里插入图片描述

从输出可以看出我的参考路径为

/root/miniconda3/envs/rapids-23.02/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc

2、在X-shell中输入下面一行命令

vi /root/miniconda3/envs/rapids-23.02/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc

就会出现一个下面的界面,我截取了一部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uE0hRoCl-1680662233377)(Jupyter_python识别中文字体.assets/image-20230405101147032.png)]

然后找到下图红色方框圈住的位置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gHnLFvso-1680662233377)(Jupyter_python识别中文字体.assets/1680660904783.jpg)]

先将三个红色方框圈住部分的注释去掉,然后在font.seriffont.sans-serif的冒号后面添加上下载的字体名字,注意一定要看清名字大小写,最好复制粘贴过来 ,编辑参考见下图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-R1gVgv30-1680662233378)(Jupyter_python识别中文字体.assets/1680661245299.jpg)]
然后找到axes.unicode_minus开头的一行,将其注释去掉,且将其后面的True更改为false即可,具体如下图。

在这里插入图片描述

然后按键esc进入文件命令模式,输入

:wq

即可保存文件并退出。

三、清除matplotlibrc缓存文件

在X-shell中输入下面两行命令

cd ~/.cache
rm -rf  matplotlib

清除掉在修改matplotlibrc配置文件之前的缓存文件。

四、重新打开Jupyter Lab

快捷键Ctrl + C关闭掉之前Jupyter Lab的环境,然后重新打开输入命令打开Jupyter Lab

jupyter lab --allow-root

然后再重新运行画图的python代码,中文就可以识别啦!!!附上效果图

在这里插入图片描述

也可以利用输入python代码的形式确认字体有没有被成功导入到Jupyter Lab中,在python编译器中输入

from matplotlib import font_manager
a = sorted([f.name for f in font_manager.fontManager.ttflist])
for i in a:
    print(i)

在输出中如果看到simhei字体即成功导入,也就可以识别啦!
在这里插入图片描述

  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

兔子没蛀牙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值