matplotlib默認不支持中文顯示,網上的解決辦法有好多種,但是大多數都是通過在代碼中指定字體,雖然也能實現,但是多出那么幾行代碼讓人覺得很惡心。
本文介紹一種通過修改配置文件matplotlibrc,讓Matplotlib顯示中文的方法:在win7,Python2.7.9測試通過
第一步:將中文字體復制到matplotlib的字體目錄中
中文字體以微軟雅黑為例,在 C:\Windows\Fonts 下面找到“微軟雅黑”字體。matplotlib默認安裝在 %PythonPath%\Lib\site-packages 目錄下。
復制微軟雅黑字體到 %PythonPath%\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\
第二步:配置文件matplotlibrc
在 %PythonPath%\Lib\site-packages\matplotlib\mpl-data\ 找到matplotlibrc文件,用記事本打開做如下修改並保存。
- 找到設置font.family的行,改為font.family : monospace,注意去掉前面的#號。
- 在下面添加一行:font.monospace : Microsoft YaHei
測試程序:
1 # -*- coding: utf-8 -*- 2 import numpy as np 3 import pylab as pl 4 5 x = np.arange(0, 2*np.pi, 0.01) 6 pl.plot(x, np.sin(x)) 7 pl.xlabel(u'角度') 8 pl.ylabel(u'幅值') 9 pl.title(u'正弦波') 10 11 pl.grid(True)#打開網格 12 pl.ylim(-1.2,1.2)#設置y軸范圍限制 13 14 pl.show()
輸出波形