在使用python最著名的画图库matplotlib画图时,若图表中有中文,默认会存在显示问题,如:
1 2 3 4 5 6 7 8 9 10 |
from pylab import * x = arange(-5*pi, 5*pi, 0.01) y = sin(x)/x plot(x, y) title('sin(x)/x曲线') xlabel('横轴') ylabel('幅度') grid(True) savefig("sinc函数.png") show() |
这是由于matplotlib的\Python33\Lib\site-packages\matplotlib\mpl-data\matplotlibrc文件中没有定义能正确显示中文的字体,解决方法是,在代码中添加一行指定使用的字体,如下面代码中的第二行指定使用微软雅黑字体:
1 2 3 4 5 6 7 8 9 10 11 |
from pylab import * mpl.rcParams['font.sans-serif'] = ['Microsoft YaHei'] x = arange(-5*pi, 5*pi, 0.01) y = sin(x)/x plot(x, y) title('sin(x)/x曲线') xlabel('横轴') ylabel('幅度') grid(True) savefig("sinc函数.png") show() |
thanks! it works.