matplotlib输出图象的中文显示问题(转载)
因项目需要输出中文统计图,选择matplotlib还不错。在其中使用中文发现有些问题。在网上找到的解决方案还不错。
一、找到c:\python24\lib\site-packages\matplotlib\mpl-data\matplotlibrc (修改font.sans-serif、verbose.level两行代码)
1、找到了matplotlibrc设置文件,是个文本文件,随便找个编辑器打开它,找到font.sans-serif一行,将后边直接改成一个nothing;(把 “:”后的“#......”都去掉)
2、找到verbose.level一行,把默认的silent改成debug.
二、找到Vera.ttf,将Vera.ttf用一个中文TrueType文字替换,名字是Vera,后缀是.ttf(True Type Font),即可。
注意:在这里有两个地方,C:\Python24\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\下的和C:\Python24\Lib\site-packages\matplotlib\mpl-data\下的两个vera.ttf文件。
三、字符串,都用u"..."的形式.(文件编码utf-8 加上" # coding = utf-8 "一行.)
若是单独的画图,这里要注意,将PY文件用记事本打开,“另存为”,编码选为“UTF-8”,保存,即可。
附代码如下:
1. # coding = utf-8
2. from pylab import *
3. x = [2,4,6,8,10]
4. y = [1224,838,632,626,624]
5. xlabel(u"text for x轴")
6. ylabel(u"text for y轴")
7. title(u"x轴和Y轴对应关系")
8. plot(x,y)
9. savefig('test')
10. show()