matplotlib显示中文问题

查看支持的字体:

# 查询当前系统所有字体
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下需要拷贝中文字体到

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

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

cd ~/.cache/matplotlib
rm *

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

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

posted @ 2023-12-14 15:24  王冰冰  阅读(18)  评论(1编辑  收藏  举报