python中文字体怎么设置_python matplotlib 中文字体设置

matplotlib是画图利器,可惜中文支持不够好,不设中文字体画出的图片里面的中文全是小框框,笔者也是google了许多次,尝试了好几种方法,终于弄对了。

思路就是找一个ttf文件,可以直接用Windows系统里面ttf文件,然后创建自己的font,将文字使用的font设置为自己创建的font就可以了。

具体如下

from matplotlib.font_manager import FontProperties

myfont = FontProperties(fname=os.path.join('STSONG.ttf')) //这里请写上自己的ttf路径

创建好了自己的font,剩下的就是把需要中文显示的地方设成myfont就可以了。

比如饼状图,饼状图的每一块需要遍历出来单独设置

fig1, ax1 = plt.subplots()

pie, l_text, p_text = ax1.pie(fracs, colors=COLORS, explode=tuple(explodes), labels=labels,

labeldistance=1.1, autopct='%1.2f%%', startangle=90, pctdistance=0.95)

for t in l_text:

t.set_fontproperties(myfont)

x, y轴的字体这样设置

plt.xlabel('x zhou', fontproperties=myfont)

plt.ylabel('y zhou', fontproperties=myfont)

legend的字体这样设

plt.legend(loc=4, borderaxespad=0., prop=myfont)

是不是超简单, 只要找好了需要的ttf字体文件,将设字体的地方用myfont代替就可以了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值