控制matplotlib画图中图片字体的参数是在rcParmas中设置,默认的参数设置中使用的字体为sans-serif类,其中包括了常见的Arial和Helvetica等,但这些字体是不支持显示中文的。通过更改该参数中的字体设置,将其转为一种支持中文的字体,即可达到显示中文的目的。具体如下:
import matplotlib
matplotlib.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']
1
其原理就是,将sans-serif的字体改为SimHei,而rcParams调用的就是sans-serif字体类,即其中的SimHei字体。目前试验下来,除了’SimHei’和’KaiTi’之外,改为其他的仍无法显示。
其实,也可以直接用下面的方法设置,效果是一样的。
rcParams['font.family'] = 'SimHei'
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。