Matplotlib不能显示中文和正负号的问题WindowsUserWarning: findfont: Font family ['sans-serif', 'SimHei'] not found.

Matplotlib不能显示中文和正负号的问题

matplitlib默认情况下是不支持中文字体的,要想在matplitlib中使用中文标签标题要进行相关的配置。在这里插入图片描述

方法一

1.下载相应的中文字体链接:https://pan.baidu.com/s/1Jb4-qWXPd-iDP4VnaIYhDQ 密码:ppse

这个网盘链接里面有整理好的许多字体样式,可以根据需求进行下载,选择要使用的字体样式

1.1这时在画图的程序中加入下面两行代码在画的图中就可以显示中文了,代码中要改为自己的路径名称,后面跟要使用的字体样式。

一般中文可以使用下载的文件下的 /font-master/unicode 的下面的SimHei.ttf

from matplotlib.font_manager import FontProperties

font = FontProperties(fname=r"自己的路径名字/SimHei.ttf", size=15)

  • 不过这种方法比较麻烦每次都要寻找添加路径名
  • 可以试一下方法二一劳永逸

方法二

1.首先下载字体
2.查找自己的电脑中matplitlib的配置文件
import matplotlib
print(matplotlib.matplotlib_fname())

在IDLE中运行代码找出自己matplitlib的配置文件的路径

3.把要使用的字体文件(比如SimHei.ttf字体)放入/site-packages/matplotlib/mpl-data/fonts/ttf下面在这里插入图片描述
4.这时运行程序之后图中还不能显示中文是因为matplotlib还存在缓存,清除缓存后就能够正常运行了。
  • (1) 在Linux下:删除文件夹/.cache/matplotlib/(/.cache/matplotlib/fontList.json文件没有保存新安装的字体)。如果不存在上述文件夹,则删除 ~/.cache/ipython(?本次运行成功)
  • (2)在Windows下:删除C:\Users\dongfang.matplotlib文件夹
5.之后只要在要使用中文的图例中写入下面一句就可以完美的解决中文乱码问题了
# 用来正常显示中文标签,SimHei是字体名称,字体必须再系统中存在,字体的查看方式和安装第三部分
plt.rcParams['font.sans-serif']=['SimHei']  

5.之后再运行程序就可以显示中文了

在这里插入图片描述

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值