Linux使用Matplotlib画图中文字体问题

Linux使用Matplotlib画图中文字体总是显示不出来,这是一个很关键的问题,有时候总是需要麻烦别人画图,这次解决了这个问题,就不用总是麻烦别人了

Linux的一大痛点,之前修复了一回,不过没有总结,这次总结一下,以便以后在遇到困难好解决。

前言

如果是Windows用户很好解决,直接在前面加入下面两行代码即可:

1
2
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] 

但是由于Linux缺少字体,上述方法其实是不能解决的

解决方案

1. 查看字体路径

1
2
import matplotlib    
print(matplotlib.matplotlib_fname())

运行结果如下所示:

运行结果

可以看到,我的字体路径为:

/home/liuyang/.local/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/

Warning

注意运行结果路径,不是字体路径,还需要稍加修改,具体如何修改请对比上面的不同

2. 下载SimHei字体,点我下载

将下载好的SimHei移动到我的字体路径下。

3. 删除matplotlib的缓冲目录

通过下面代码进行查看缓冲目录

1
2
import matplotlib
matplotlib.get_cachedir()

然后使用rm命令删除缓存目录

例如rm -rf xxxxx

最后字体就可以显示了

参考链接

https://blog.csdn.net/sinat_40875078/article/details/104326855

updatedupdated2022-03-112022-03-11