os系统解决seaborn中文乱码问题 Font family [‘SiHei‘] not found

当使用seaborn时遇到中文乱码问题,尝试设置font为'SiHei'未果,因为系统缺少相应字体。通过查看matplotlib缓存文件fontlist-v310.json,发现Arial Unicode字体。将Arial的JSON信息复制并改名为Arial Unicode,更新其地址,并在seaborn中设置font='Arial Unicode',成功解决seaborn中文乱码问题。
摘要由CSDN通过智能技术生成

在网上看的方法是sns.set(font=‘SiHei’, font_scale=1.3, style=‘whitegrid’),其中SiHei是字体名称,结果报错:findfont: Font family [‘SiHei’] not found. Falling back to DejaVu Sans.
在这里插入图片描述
意思是说本地找不到SiHei的字体库,网上给出的下载SiHei修改配置文件的方法对我不起作用,于是采用了直接使用本地字体的方法:

import matplotlib
matplotlib.get_cachedir()

得到matplotlib缓存文件的地址,打开该目录,其中有两个文件:
在这里插入图片描述

打开fontlist-v310.json,可以看到其中是对各个字体的描述,其中有些具有绝对路径,例如Arial:
在这里插入图片描述
进入目录/System/Library/Fonts/Supplemental,可以看到里面已经有中文字体Arial Unicode:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值