美文网首页
python-结巴分词+词云展示

python-结巴分词+词云展示

作者: 火卫控 | 来源:发表于2021-03-05 01:23 被阅读0次

    python-结巴分词+词云展示

    需要库

    import jieba                            # 分词
    from matplotlib import pyplot as plt    # 绘图
    from wordcloud import WordCloud         # 词云
    from PIL import Image                   # 图片处理
    import numpy as np                      # 矩阵运算
    

    结果快览

    词云

    制作步骤

    1. 准备文档字符串,并进行结巴分词
    2. 准备词云底图形状的图片并生成图片数组
    3. 准备系统字体路径
    4. 将分词填充到图片数组中
    5. 生成图片

    源代码如下

    #!/usr/bin/env python
    # -- coding = 'gbk' --
    # @Python  : 3.7
    # @OS      : Windows 10 kiton.
    # @Time    : 2021/3/5 0:47
    # @Author  : 
    # @E-mail  : 1154282938@qq.com
    # @File    : wordcloud1.py
    # @Software: PyCharm
    
    import jieba                            # 分词
    from matplotlib import pyplot as plt    # 绘图
    from wordcloud import WordCloud         # 词云
    from PIL import Image                   # 图片处理
    import numpy as np                      # 矩阵运算
    
    
    text = r"先帝开创的大业未完成一半却中途去世了。现在天下分为三国,指蜀汉国力薄弱,处境艰难。这确实是国家危急存\
    亡的时期啊。不过宫廷里侍从护卫的官员不懈怠,战场上忠诚有志的将士们奋不顾身,大概是他们追念先帝对他们的特别的\
    知遇之恩(作战的原因),想要报答在陛下您身上。(陛下)你实在应该扩大圣明的听闻,来发扬光大先帝遗留下来的美德, \
           振奋有远大志向的人的志气,不应当随便看轻自己,说不恰当的话,以致于堵塞人们忠心地进行规劝的言路。皇宫中\
           和朝廷里的大臣,本都是一个整体,奖惩功过,不应有所不同。如有作恶违法的人,或行为忠善的人,都应该交给主管官\
           吏评定对他们的惩奖,以显示陛下处理国事的公正严明,而不应当有偏袒和私心,使宫内和朝廷奖罚方法不同。侍中、侍\
           郎郭攸之、费祎、董允等人,都是善良诚实、心志忠贞纯洁的人,他们的志向和心思忠诚无二。因此先帝选拔他们留给陛\
           下。我认为宫中之事,无论事情大小,都拿来跟他商讨,这样以后再去实施,一定能够弥补缺点和疏漏之处。得到更多的好\
           处。将军向宠,性格和品行善良公正,精通军事,从前任用时,先帝称赞他很有才能,因此众人商议推举他做中部督。我认\
           为禁军营中的事,都拿来跟他商讨,就一定能使军队团结一心,不同才能的人各得其所。亲近贤臣,疏远小人,这是前汉所以\
           兴盛的原因;亲近小人,疏远贤臣,这是后汉之所以衰败的原因。先帝在世的时候,每逢跟我谈论这些事情,未尝不叹息而痛恨\
           桓帝、灵帝时期的腐败。侍中、尚书、长史、参军,这些人都是忠贞善良、守节不逾的大臣,望陛下亲近他们,信任他们,那么\
           汉朝的复兴,就指日可待了。我本来是平民,在南阳亲自耕田,在乱世中苟且保全性命,不奢求在诸侯之中出名。先帝不因为我身\
           份卑微,屈尊下驾来看我,三次去我的茅庐拜访我,征询我对时局大事的意见,我因此十分感动,就答应为先帝奔走效劳。后来\
           遇到兵败,在兵败的时候接受任务,形势危急之时奉命出使,从这以来二十一年了。先帝知道我做事小心谨慎,所以临终时把\
           国家大事托付给我。接受遗命以来,我日夜忧虑叹息,只怕先帝托付给我的大任不能实现,以致损伤先帝的知人之明,所以我五月\
           渡过泸水,深入到人烟稀少的地方。现在南方已经平定,兵员装备已经充足,应当激励将领士兵,平定中原,希望用尽我平庸的才\
           能,铲除奸邪凶恶的敌人,兴复汉室的任务托付给我,返还旧都.这是我用以报答先帝尽忠陛下的职责。至于处理事务,斟酌情理,\
           毫无保留地贡献忠言,那是郭攸之、费祎、董允的责任。希望陛下能够把讨伐曹魏,兴复汉室的任务托付给我,若不能完成,就治\
           我的罪,(从而)用来告慰先帝的在天之灵。如果没有振兴圣德的建议,那就责备郭攸之、费祎、董允等人的怠慢。来揭示他们的过\
           失;陛下也应自行谋划,毫无保留地进献忠诚的建议,采纳正确的言论,深切追念先帝临终留下的教诲。我感激不尽。今天(我)将要\
           告别陛下远行了,面对这份奏表禁不住热泪纵横,也不知说了些什么。"
    
    
    cut = jieba.cut(text)
    string = ' '.join(cut)
    print(len(string))
    # print(string)
    
    img = Image.open(r'.\123.png')
    img_array = np.array(img)  # 将图片转化为数组
    wc = WordCloud(
        background_color='white',
        mask=img_array,
        font_path=r"C:\Windows\Fonts\msyh.ttc"
    
    )
    
    wc.generate_from_text(string)
    
    # 绘制图片
    fig = plt.figure(1)
    plt.imshow(wc)
    plt.axis('off')  # 不显示坐标轴
    plt.show()
    

    运行结果

    Building prefix dict from the default dictionary ...
    Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
    Loading model cost 0.590 seconds.
    Prefix dict has been built successfully.
    2284
    
    Process finished with exit code 0
    
    显示的词云plot

    相关文章

      网友评论

          本文标题:python-结巴分词+词云展示

          本文链接:https://www.haomeiwen.com/subject/tzwlqltx.html