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


    转发自:http://blog.csdn.net/laoyaotask/article/details/22117745?utm_source=tuicool

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

    在学习《NLP with Ptyhon》一中的过程中,总想用中文语料进行试验,结果在matplotlib.plot生成的统计图表中,中文总是无法正常显示。在网上也找了些资料,说是在程序中指定字体文件,不过那样的话需要对plot进行很多设置,而且都是说的设置坐标轴标题为中文,不是关于数据本身的。

    原因:matplotlib默认字体并不是中文字体。

    解决方法:将某中文字体设为默认首选字体,本文拟将默认字体设为微软雅黑。

    环境:win7 x64, python3.2, nltk3.0a3
    过程:

    在python的安装目录中找到配置文件: %Python_Home%Libsite-packagesmatplotlibmpl-datamatplotlibrc (如,我的是在D:Python32Libsite-packagesmatplotlibmpl-data),用任意文本编辑器打开。(最好先备份一下)
    找到第129行:#font.family, 将其注释去掉,冒号后面的值改为Microsoft YaHei
    找到第141行:#font.sans-serif, 将其注释去掉,并将Microsoft YaHei添加到冒号后面的最前面,注意还要再加一个英文逗号(,)
    为保险其间,到C:WindowsFonts中找到微软雅黑对应的字体文件msyh.ttf,将其复制到D:Python32Libsite-packagesmatplotlibmpl-datafonts tf目录下
    执行程序即可看到效果。有代码、有图,所以有真相:

    [python] view plaincopy在CODE上查看代码片派生到我的代码片
    '''''
    说明:利用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进行词频统计,并显示到图表中

    结果:

  • 相关阅读:
    20192423 202120222 《网络与系统攻防技术》实验一实验报告
    git 多账户
    stm32毕设移植工程模板
    vue数据拦截原理
    二叉树的层序遍历C语言描述
    单链表
    JS剑指 Offer 09. 用两个栈实现队列
    fastadmin 支持默认模糊查询
    疑问?
    Visio去掉两条相交连接之间的凸弧
  • 原文地址:https://www.cnblogs.com/morya/p/4304894.html
Copyright © 2020-2023  润新知