一、在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
就会出现一个下面的界面,我截取了一部分
然后找到下图红色方框圈住的位置
先将三个红色方框圈住部分的注释去掉,然后在font.serif
和font.sans-serif
的冒号后面添加上下载的字体名字,注意一定要看清名字大小写,最好复制粘贴过来 ,编辑参考见下图。
然后找到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字体即成功导入,也就可以识别啦!