matplotlib.pyplot 绘图中文字体乱码解决方案

本文详细介绍了在使用matplotlib绘制中文图表时遇到的乱码问题及其解决方案,包括通过rc参数设置字体、利用font_manager模块指定字体文件及调整font.sans-serif参数的方法。

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

  • 背景

在使用matplotlib.pyplot  进行绘图时,经常会出现中文字体乱码。是由于其内置的字符集不支持中文字符,需要重新配置字符集。

  • 解决方案一

通过pl.rc参数设置pyplot的字符集,代码如下:

from matplotlib import pyplot as pl

# 设置全局字体类型
# 字典变量
font = {'family':'SimHei',
        'weight':'bold',
        'size':'12'}
pl.rc('font',**font)
# 上面设置字体的方式等价于下面这种
pl.rc('font',family='SimHei',weight='bold',size='12')
  • 解决方案二:

通过matplotlib 提供的font_manager 模块,设置字体文件。(win10:可以在C:\Windows\Fonts 找到系统已安装的字体文件按)

# 另一种设置字体的方式
from matplotlib.font_manager import  FontProperties
font = FontProperties(fname=r"C:\Windows\Fonts\simkai.TTF")
# font = FontProperties(family='SimHei')

# 分别将字体设置到X轴,Y轴等其他有中文字体的地方
yeas = [1950,1960,1970,1980,1990,2000]

# figure (宽,高) ,清晰度
pl.figure(figsize=(15,8),dpi=80)

# 设置X轴刻度,步长只能是整数
_x = range(min(yeas),max(yeas),5)

# 设置X轴label
_x_label = ['{}年'.format(i) for i in _x]
pl.xticks(_x,_x_label,FontProperties=font)
years = [i for i in _x]

pl.title("GDP模式展示",FontProperties=font)
pl.ylabel("十亿美元",FontProperties=font)
  • 解决方案三

 直接通过修改font.sans-serif 参数改变绘图时的字体。代码如下:

# 手动设置字体
from matplotlib import pyplot as pl
pl.rcParams['font.sans-serif'] = ['SimHei']
  •  参考资料

https://blog.youkuaiyun.com/weixin_44675377/article/details/96367050

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值