matplotlib显示中文问题

查看支持的字体:

1
2
3
4
5
6
# 查询当前系统所有字体
from matplotlib.font_manager import FontManager
mpl_fonts = set(f.name for f in FontManager().ttflist)
print('all font list get from matplotlib.font_manager:')
for t in sorted(mpl_fonts):
print(t)

上述代码来自https://zhuanlan.zhihu.com/p/104081310

但是它的方案在linux下不好使也不太对

linux下需要拷贝中文字体到

1
~/miniconda3/envs/main/lib/python3.8/site-packages/matplotlib/mpl-data/fonts/ttf

删除~/.cache/matplotlib中的内容

1
2
cd ~/.cache/matplotlib
rm *

设置你喜欢的字体,字体名字从上面查询代码获取

1
plt.rcParams['font.family'] = [ 'sans-serif', 'FangSong']

敬请详细查看:

https://zodiac911.github.io/blog/matplotlib-chinese.html

官方文档

https://matplotlib.org/stable/users/explain/text/text_props.html#font-nonlatin


matplotlib显示中文问题
https://jcdu.top/2023/12/14/matplotlib显示中文问题/
作者
horizon86
发布于
2023年12月14日
许可协议