Python画图中文显示

  当我们使用matplotlib.plt画图的时候,如果我们要输入中文的标识,使得在输出图像中显示中文,光是以下的做法是不够的。

import matplotlib.pyplot as plt

plt.figure()
plt.bar([1,2,3,4,5,6,7,8,9,10],[5,6,1,2,7,9,3,8,4,10],alpha = 0.5)
plt.xlabel('样本类别')
plt.ylabel('各类样本数量')
plt.show()

  输出可以见到,在中文部分会出现□的错误。
这里写图片描述

  要解决这个问题,需要做以下步骤:

  一、下载一个你需要的字体,例如“微软雅黑”,格式为ttf,将ttf文件放在一个文件夹下,并记录它关于你的程序保存的位置,例如我的“微软雅黑.ttf”放置在程序文件夹下的文件夹“ttf”中,则路径为“ttf/微软雅黑.ttf”
在程序文件夹下创建ttf文件夹
ttf文件夹下放入字体文件
在ttf文件夹中放入字体

  二、在源代码上添加如下代码,添加的代码在后面做了标记和解释。

import matplotlib.pyplot as plt
import matplotlib as mpl // 新增包
from matplotlib.ticker import MultipleLocator, FormatStrFormatter //新增函数

mpl.rcParams['font.size'] = 15 // 设置字体大小
custom_font = mpl.font_manager.FontProperties(fname='tff/微软雅黑.ttf') // 导入字体文件

plt.figure()
plt.bar([1,2,3,4,5,6,7,8,9,10],[5,6,1,2,7,9,3,8,4,10],alpha = 0.5) 
plt.xlabel(u'样本类别',fontproperties=custom_font) // 在中文字前加英文字母u,并且设置字体
plt.ylabel(u'各类样本数量',fontproperties=custom_font) // 在中文字前加英文字母u,并且设置字体
plt.show()

  再次运行就可以得到如下图像,可见中文正常显示。
这里写图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值