matplotlib 与 seaborn 中出现中文乱码的解决方法(ubuntu下亲测有用)

本文介绍了解决Linux及MacOS系统中使用matplotlib或seaborn绘图时出现中文乱码的问题。通过引入simhei.ttf字体并调整matplotlib配置文件,确保中文能够正常显示。此外还提供了代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文:https://www.cnblogs.com/ToDoToTry/p/7793137.html

Linux、Mac osx 系统中,出现 matplotlib 或 seaborn 绘图中有中文乱码的情形,可以考虑使用以下方式处理:
到 anaconda 的 matplotlib 中查看是否有 simhei.ttf 字体:

cd ~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/fonts/ttf
ls -al | grep simhei

如果没有,从 windows 中用 everything 搜索全局文件,找到 simhei.ttf,并将其上传到linux 的 matplotlib 的 fonts/ttf 文件夹
修改配置文件~/anaconda3/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc 文件,
将该文件拷贝到.cache/matplotlib 目录下,并找到以下两行,改为如下:
  

font.family : sans-serif
font.sans-serif : simhei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif

(linux)删除~/.cache/matplotlib/目录下的 fonts cache lis
PS: ubuntu下删除fontList.json文件,运行一次ipython会自动生成

代码设置 matplotlib 和 seaborn 的环境
  

import matplotlib as mpl
mpl.rcParams[‘font.sans-serif’] = [‘simhei’]
mpl.rcParams[‘font.serif’] = [‘simhei’]
import seaborn as sns
sns.set_style(“darkgrid”,{“font.sans-serif”:[‘simhei’,’Droid Sans Fallback’]})

参考:
https://github.com/mwaskom/seaborn/issues/1009
http://www.th7.cn/Program/Python/201704/1156781.shtml
作者: fandyst
出处: http://www.cnblogs.com/todototry/
关注语言: python、javascript(node.js)、objective-C、java、R、C++
兴趣点: 互联网、大数据技术、大数据IO瓶颈、col-oriented DB、Key-Value DB、数据挖掘、模式识别、deep learning、开发与成本管理
产品: 猪哥网,猪场管理软件,畜牧行业

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值