Ubuntu下让matplotlib显示中文字体


参考文章: https://zodiac911.github.io/blog/matplotlib-chinese.html

Ubuntu下python的matplotlib库显示中文字体很不方便,本文快速解决这个问题。

安装中文字体

Ubuntu的字体目录在/usr/share/fonts下,自带的中文字体很烂,先安装一下中文字体库。
终端输入:

git clone https://github.com/tracyone/program_font 
cd program_font 
./install.sh

你会发现在/usr/share/fonts/MyFonts下添加了很多新字体,比如我们就要使用黑体“simhei.ttf”

在这里插入图片描述

显示matplotlib库的字体文件夹

显示当前python环境下matplotlib库的配置文件所在位置:

import matplotlib
matplotlib.matplotlib_fname()

比如我显示的是’‘/home/ck/anaconda3/envs/pytorch2/lib/python3.10/site-packages/matplotlib/mpl-data/matplotlibrc’’
打开该文件所在目录/home/ck/anaconda3/envs/pytorch2/lib/python3.10/site-packages/matplotlib/mpl-data下的fonts文件夹,把之前选中的 simhei.ttf 复制到 fonts文件夹下。

删除matplotlib 的缓存文件(可选)

$cd ~/.cache/matplotlib
$rm -rf *.*

matplotlib中设置字体,显示!

注意,如果是在Jupyter notebook下一定要重启一下内核才能显示成功。

import matplotlib.pyplot as plt

font_name = "simhei"
mpl.rcParams['font.family']= font_name # 指定字体,实际上相当于修改 matplotlibrc 文件 只不过这样做是暂时的 下次失效
mpl.rcParams['axes.unicode_minus']=False # 正确显示负号,防止变成方框

成功!
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/takedachia/article/details/131017286