# --*-- coding: utf-8 --*-- from matplotlib.font_manager import FontProperties import matplotlib.pyplot as plt font = FontProperties(fname=r"/usr/share/fonts/win/msyh.ttf", size=14) fig = plt.figure(figsize=(6, 6)) x = [1, 2, 3, 4, 5, 6, 7, 8] y = [] for i in x: y.append(-(i * i) + i + 3) ax = fig.add_subplot(111) ax.plot(x, y, label=u‘我我问‘) plt.title(u‘测试程序‘, fontproperties=font) plt.xlabel(u‘x轴‘, fontproperties=font) plt.ylabel(u‘y轴‘, fontproperties=font) plt.grid(True) plt.legend(prop=font) # 要让lable也支持中文 plt.show()
想让这个两个图形库能够支持中文的显示其实还是挺简单的,下面分开说明
PIL支持中文:
1.从windows的C:\Windows\Fonts\ 目录下拷贝一份字体文件,比如"msyh.ttc" 到某个目录,一般是"/usr/share/fonts/truetype/",当然这个无所谓
2.定义一个myfont变量, myfont = ImageFont.truetype(fontpath, 24); 第一个参数是字体的路径, 第二个参数是字体大小
3.写文字时,指定参数font 的值为 myfont, 如下图所示
matplotlib支持中文:
1.同样还是需要中文字体文件,和PIL的第一步相同
2.也是定义一个myfont变量, myfont = matplotlib.font_manager.FontProperties(fname=fontpath); fontpath就是字体文件的路径
3.写文字时,指定参数fontproperties的值为myfont,示例如下:
4.如果想让label也支持中文,那么需要在 legend()函数中指定参数 prop的值为 myfont
matplotlib 显示中文,布布扣,bubuko.com
原文:http://www.cnblogs.com/i80386/p/3709062.html