jupyter matplotlib 中文报错/乱码

在 jupyter 中使用 matplotlib 进行画图的时候, 如果包含中文, 会有一堆报错, 并且输出的图片中的中文也无法正常显示.

解决方案:

  1. 查找支持的中文字体
py 复制代码
import matplotlib.font_manager as fm

# matplotlib only know these fonts
font_list = [f for f in fm.fontManager.ttflist]

# check font names what you want
# 'CJK', 'Han', , 'TW'
cjk_list = ['CN']

for f in font_list:
    if any(s.lower() in f.name.lower() for s in cjk_list):
        print(f'name={f.name}, path={f.fname}')

输出结果:

复制代码
name=AR PL UMing CN, path=/usr/share/fonts/cjkuni-uming/uming.ttc

如果没有结果, 则需要去下载安装字体

  1. 设置字体

在输出结果中, 找一个 name 的值进行设置:

py 复制代码
%matplotlib inline

plt.rc('font', family='AR PL UMing CN')

matplotlib 的图中, 中文就可以正常显示了

如果依然不行, 尝试删除 rm -rf ~/.matplotlib/font* or rm -rf ~/.cache/.matplotlib/fontl*. 重启 jupyter

相关推荐
小付同学呀8 小时前
Visual Studio 2026 正式版下载与安装详细教程!
ide·visual studio
SiYuanFeng14 小时前
vscode中markdown使用单个$显示公式($...$),preview页面里公式显示失败
ide·vscode·编辑器
火焰中舞蹈的小孩17 小时前
Unity和Android Studio相互调用 CH340在unity中调用
android·ide·android studio
coderYYY1 天前
VSCode终端启动报错
前端·ide·vscode·npm·编辑器
FunW1n2 天前
Android Studio与Hook模块开发相关问题及实现方案梳理
android·ide·android studio
catchadmin2 天前
“Fatal error: require(): Failed opening required...” 以及如何彻底避免它再次出现
android·ide·android studio
来两个炸鸡腿2 天前
【Datawhale组队学习202602】Easy-Vibe task02 认识AI IDE工具
ide·人工智能·学习·大模型
西柚云3 天前
告别命令行!在VSCode中直接使用Claude Code编程
服务器·ide·vscode·编辑器·claude
汽车软件工程师0013 天前
vscode使用ctrl+shift +F无法搜索此变量,怎么破解?
ide·vscode·编辑器