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

相关推荐
A小调的码农41 分钟前
OPENOCD+MSYS+VSCODE:从“灯不亮“到“终于亮了“
ide·vscode·stm32·单片机·编辑器
hkj88083 小时前
vscode提交gitee远程仓库出现Permission denied (publickey)解决方法
ide·vscode·gitee
女神下凡3 小时前
WorkBuddy、TraeWork、QWork 完整区别对比
ide·人工智能·笔记
李顿波4 小时前
Ai IDE / Ai Agent 一览!
ide·人工智能
等什么秋4 小时前
idea2024下载
java·ide·intellij-idea
独隅4 小时前
Typora插件开发终极指南:从底层逆向到专属IDE式写作环境
ide
你想知道什么?4 小时前
Matplotlib学习笔记
笔记·学习·matplotlib
Java面试题总结1 天前
IntelliJ IDEA 从卡顿到起飞,只用改这些。。。
java·ide·intellij-idea
Jay_Franklin1 天前
Python 数据处理工作流:marimo、PyCharm 与数据存储
开发语言·数据仓库·ide·python·pycharm·数据分析·开源
渡我白衣1 天前
打印宏与socket模块设计
java·linux·开发语言·c++·ide·人工智能·eclipse