Blog / 阅读

python matplotlib plot 数据中的中文无法正常显示的解决办法

by admin on 2014-03-26 11:46:29 in ,



在学习《NLP with Ptyhon》一中的过程中,总想用中文语料进行试验,结果在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,不是关于数据本身的。
原因:matplotlib默认字体并不是中文字体。
解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为微软雅黑。
环境:win7 x64, python3.2, nltk3.0a3
过程:
在python的安装目录中找到配置文件: %Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc   (如,我的是在D:\Python32\Lib\site-packages\matplotlib\mpl-data),用任意文本编辑器打开。(最好先备份一下)
找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
为保险其间,到C:\Windows\Fonts\中找到微软雅黑对应的字体文件msyh.ttf,将其复制到D:\Python32\Lib\site-packages\matplotlib\mpl-data\fonts\ttf\目录下
执行程序即可看到效果。有代码、有图,所以有真相:
[python] view plaincopy
''''' 
说明:利用nltk.corpus中的PlaintextCorpusReader去读取磁盘上的txt文件 
(文件内容为:我 是 中国 人 , 你 是 美国 人 。 中国 啊 中国) 
再利用nltk.FreqDist对读到的文本进行词频统计,并用plot方法绘制图表进行显示 
'''  
import nltk  
from nltk.corpus import PlaintextCorpusReader #导入读文件的包  
import matplotlib  
  
corpus_root='D:/nltk_data/corpora/gutenberg/' #设置目标文件目录  
filelists=PlaintextCorpusReader(corpus_root,'cn.txt') #读文件  
nltk.FreqDist(filelists.words('cn.txt')).plot() #调用FreqDist进行词频统计,并显示到图表中  


结果:


写评论

相关文章

上一篇:批量生成HTML文件,通过 学生名单(学号、姓名) 与 博客名单(姓名、网址)

下一篇:DES加密算法详解- -

评论

写评论

* 必填.

分享

栏目

赞助商


热门文章

Tag 云