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()

  输出可以见到,在中文部分会出现□的错误。
Python画图中文显示_第1张图片

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

  一、下载一个你需要的字体,例如“微软雅黑”,格式为ttf,将ttf文件放在一个文件夹下,并记录它关于你的程序保存的位置,例如我的“微软雅黑.ttf”放置在程序文件夹下的文件夹“ttf”中,则路径为“ttf/微软雅黑.ttf”
Python画图中文显示_第2张图片
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()

  再次运行就可以得到如下图像,可见中文正常显示。
Python画图中文显示_第3张图片

你可能感兴趣的:(python)