
永久解决 matplotlib 图例中文方块错误
原文链接:https://learnku.com/articles/41886这里对原文做了点修改,因为原文还是有点小问题的
发布日期:2021-05-09 01:36:40
浏览次数:22
分类:博客文章
本文共 1157 字,大约阅读时间需要 3 分钟。
永久解决 图例中文方块错误
- 问题
- 查看当前环境的字体路径
- 解决方法
- 删除缓存
问题
当打印图例的时候,图可以正常显示,但中文会显示方块。比如 title。然后会有个小报错:
报错描述:/Users/username/anaconda3/lib/python3.6/site-packages/matplotlib/font_manager.py:
1331: UserWarning: findfont: Font family [‘SimHei’] not found. Fallingback to DejaVu Sans (prop.get_family(), self.defaultFamily[fontext]))
查看当前环境的字体路径
import matplotlibprint(matplotlib.matplotlib_fname())
/Users/username/anaconda3/lib/python3.6/site-packages/matplotlib
解决方法
首先下载一个字体文件 SimHei.ttf 提取码858y。
解压字体后拷贝到 matplotlib/mpl-data/fonts/ttf 目录下面。mv ~/Downloads/SimHei.ttf ~/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf
修改配置文件 matplotlibrc:
vim ~/anaconda3/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
found 这三项配置并修改:
font.family: sans-seriffont.sans-serif: SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serifaxes.unicode_minus: False # 解决负号'-'显示为方块的问题
前两项大概在 194 行,第三项大概在 325 行。
但是改了配置之后并不会生效,需要重新加载字体,在 Python 中运行如下代码即可
删除缓存
print(matplotlib.get_cachedir())
rm -rf ~/.matplotlib
重启jupyter,现在再打印图例一点问题都没有了,支持中英文混搭。
发表评论
最新留言
路过,博主的博客真漂亮。。
[***.116.15.85]2025年04月29日 03时52分51秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
047:cesium加载geojson文件,显示图形
2023-01-25
(type interface {}) to type string
2023-01-25
(五)java多线程之Lock类
2023-01-25
(从进程/线程视角看内存)鸿蒙内核源码分析
2023-01-25
(十一) 构建dubbo分布式平台-dubbo简介
2023-01-25
asp.net MVC 强类型视图表单Ajax提交的注意事项
2023-01-25
Bailey Button Botas Ugg Baratas Corto Botas 5803 Casta?a Holgura Outlet GUANGXI SEDA ESTANCIA CALLB
2023-01-26
canvas设置文字阴影
2023-01-26
Centos 5.3 ADSL拨号组建中小型企业网络
2023-01-26
Centos 5.8 安装后不能使用ifconfig
2023-01-26
Centos 6 & 7 LVM 逻辑盘卷管理
2023-01-26
CentOS 6 时间,时区,设置修改及时间同步
2023-01-26
Centos 6.3 64bit安装KVM总结
2023-01-26
CentOS 6.4 yum安装chrome
2023-01-26
CentOS 6.4下编译安装MySQL 5.6.14
2023-01-26
Centos 6.4搭建网络源
2023-01-26