python中图片显示中文的方法和原理

控制matplotlib画图中图片字体的参数是在rcParmas中设置,默认的参数设置中使用的字体为sans-serif类,其中包括了常见的Arial和Helvetica等,但这些字体是不支持显示中文的。通过更改该参数中的字体设置,将其转为一种支持中文的字体,即可达到显示中文的目的。具体如下:

import matplotlib
matplotlib.rcParams
#rcParams是一个字典,其中有各种参数,涉及字体的有以下几种

输出的内容如下
{
‘font.family’:[‘sans-serif’],
‘font.fantasy’:[……],
‘font.monospace’:[……],
‘font.sans-serif’:[……],
‘font.serif’:[……],
……
}

在rcParams中,font.family定义了画图使用哪种字体,目前是sans-serif。供选择的字体类就是下面的四个:fantasy(活泼字体?我自己瞎翻译的),monospace(等宽字体),sans-serif(无衬线字体),serif(衬线字体)。目前网络上常用的、有效的解决办法是:

matplotlib.rcParams['sans-serif'] = ['SimHei']

其原理就是,将sans-serif的字体改为SimHei,而rcParams调用的就是sans-serif字体类,即其中的SimHei字体。目前试验下来,除了’SimHei’和’KaiTi’之外,改为其他的仍无法显示。

其实,也可以直接用下面的方法设置,效果是一样的。

rcParams['font.family'] = 'SimHei'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值