问题描述 matplotlib绘制图像的时候显示中文时候,中文会变成小方格子 解决办法 1,找到 #font.family : sans-serif 去掉注释 2,找到 #font.sans-serif : Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 修改为 font.sans-serif : Microsoft YaHei ,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif 即去掉注释,并在配置值中添加 Microsoft YaHei , 3,在windows下搜索msyh.ttf,即微软的雅黑字体, 并将msyh.ttfcopy到python按照目录下的 x:/install_dir/Lib/site-packages/matplotlib/mpl-data/fonts/ttf 目录 其中x:/install_dir是python的安装目录 #第一种方法: # -*- coding: utf-8 -*- from pylab import * mpl.rcParams['font.sans-serif'] = ['SimHei'] #指定默认字体 mpl.rcParams['axes.unicode_minus'] = False #解决保存图像是负号'-'显示为方块的问题 t = arange(-5*pi, 5*pi, 0.01) y = sin(t)/t plt.plot(t, y) plt.title(u'这里写的是中文') plt.xlabel(u'X坐标') plt.ylabel(u'Y坐标') plt.show() #第二种方法 # -*- coding: utf-8 -*- from pylab import * # myfont = matplotlib.font_manager.FontProperties(fname='C:/Windows/Fonts/msyh.ttf') mpl.rcParams['axes.unicode_minus'] = False t = arange(-5*pi, 5*pi, 0.01) y = sin(t)/t plt.plot(t, y) plt.title(u'这里写的是中文',fontproperties=myfont) #指定字体 plt.xlabel(u'X坐标',fontproperties=myfont) plt.ylabel(u'Y坐标',fontproperties=myfont) plt.show()