解决matplotlib/searbon无法中文显示的三种方法

解决Matplotlib/Searbon无法中文显示的三种方法

本文主要内容

介绍三种解决matplotlib/searbon无法中文显示的方法。

抛出问题:

missing from current font:
Warnning

为什么matplotlib/searbon无法显示中文呢?
答:因为matplotlib的自带字体库不支持中文。

既然matplotlib中自带的字体库不支持中文,那我们就向其中添加支持的字体或者去设置其中的参数就可以解决啦!

方法一:

给matplotlib添加支持的字体 ->> 针对与本.ipynb文件临时的设置。

# 方法一:给matplotlib添加支持的字体 ->> 针对与本.ipynb文件临时的设置 
font = {
    "family":"SimHei",
    "weight":"bold",
    "size":12
}
matplotlib.rc("font", **font)

这里不仅仅支持"SimHei"字体,喜欢其他字体自行更换就可以了,同样尺寸也都可以根据喜好更换。

方法二:

通过pyplot的字典rcParams设置参数 ->> 针对与本.ipynb文件临时的设置 。

# 方法二:通过pyplot的字典rcParams设置参数 ->> 针对与本.ipynb文件临时的设置 
plt.rcParams['font.sans-serif'] = ['SimHei'] # 步骤一(替换sans-serif字体)
plt.rcParams['axes.unicode_minus'] = False   # 步骤二(解决坐标轴负数的负号显示问题)

同样,这里字体也可以根据个人喜好进行更换。

方法三:

设置自定义字体(局部) ->> 只对相应设置的方法有效 ->> 针对性。

from matplotlib.font_manager import FontProperties
# 相当于将windows自带的字体注入到matplotlib字体库
font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)

同样,这里字体也可以根据个人喜好进行更换。

总结

这里,我个人比较推荐使用方法二,因为他是临时性的设置,不会影响其他不需要中文显示的.ipynb文件,而且代码也比较简短工整,视觉效果比较好。另外,代码不需要记忆(真记不住/(ㄒoㄒ)/~~),用的时候复制粘贴就好,建议写在导包操作下面,像这样就很不错:

import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] 
plt.rcParams['axes.unicode_minus'] = False

当然,大家也可以根据个人喜好选择其他方法。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sjsflyqy10

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值