matplotlib中文报错问题及解决方案

UserWarning: findfont: Font family [‘SimHei’] not found. Falling back to DejaVu Sans
(prop.get_family(), self.defaultFamily[fontext]))

在使用matplotlib包中进行中文字符插入时,遇到如上报错 not found

解决方法:

1、首先使用matplotlib_fname函数找到对应的安装包所在位置

import matplotlibprint(matplotlib.matplotlib_fname())
output:/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc

2、下载SimHei字体

下载地址:http://www.xiazaiziti.com/210356.html

3、将所下载的SimHei.ttf 文件放置在上边安装包文件的  ttf  目录中

matplotlib/mpl-data/fonts/ttf

4、修改mpl-data目录下的matplotlibrc文件

修改以下三项(注:SimHei加入到font.sans-serif中)

font.family: sans-seriffont.sans-serif: SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serifaxes.unicode_minus: False # 解决负号'-'显示为方块的问题

5、重新加载字体,在 Python 中运行如下代码

from matplotlib.font_manager import _rebuild
_rebuild() # reload重新加载

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部