前言
本文主要描述,在使用jupyter lab 环境,用matplotlib画图,加中文字体,根据别的文章操作,一直没有用的原因。
过程
在查看了别人的博客,从下载"SimHei.tff"字体文件,ubuntu系统下命令:
!wget https://zihao-openmmlab.obs.cn-east-3.myhuaweicloud.com/20220716-mmclassification/dataset/SimHei.ttf -O /home/ubuntu/anaconda3/envs/pytorch/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf/SimHei.ttf
删除缓存:!rm -rf /home/ubuntu/.cache/matplotlib
然后代码设置
matplotlib.rc("font",family='SimHei') # 中文字体
# plt.rcParams['font.sans-serif']=['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False # 用来正常显示负号
按找上面的方法,应该是就可以用了。
但是我实验的过程就是不行,接着找原因。
1、查看字体文件
代码如下所示:
import matplotlib.font_manager
[f.name for f in matplotlib.font_manager.fontManager.ttflist]
2、查看matplotlib 安装路径
print(matplotlib.__file__)
3、打印一个中文的图
import matplotlib.pyplot as plt
plt.plot([1, 2, 3, 4])
plt.title('自定义标题名称', fontproperties='SimHei')
plt.show()
结论,解决办法
重启 jupyter lab 进程。
nohup jupyter lab
就解决问题了。
猜测,莫非启动进程包含了环境。我有试过极端的,把整个matplotlib目录删除了,jupyter lab还是能继续使用 matplotlib画图。