• Jieba库使用和好玩的词云


     

    2019-04-03Jieba库使用和好玩的词云

    一、下载jieba库、wordcloud函数库、matplotlib函数库:

      依然是用打开cmd索引到scripts里,输入pip intall XXX(xxx是函数库名称),即可下载

    注:可能要升级pip,输入pip install --upgrade pip来升级

     

    二、代码展示(附有注释):

     1 from wordcloud import WordCloud
     2 import matplotlib.pyplot as plt
     3 import jieba
     4 #定义创建词云的函数
     5 def create_word_cloud(filename):
     6 
     7     text = open("人间失格.txt","r",encoding='utf-8').read()  #打开自己想要的文本
     8     wordlist = jieba.cut(text, cut_all=True)  # 结巴分词
     9 
    10     wl = " ".join(wordlist)
    11 
    12     wc = WordCloud(             #设置词云
    13 
    14         background_color="white",        # 设置背景颜色
    15 
    16         max_words=20,        # 设置最大显示的词云数
    17 
    18         font_path='C:/Windows/Fonts/simfang.ttf',        # 索引在C盘上的字体库
    19 
    20         height=500,
    21 
    22         width=500,
    23 
    24         max_font_size=150,        # 设置字体最大值
    25 
    26         random_state=150,        # 设置有多少种随机生成状态,即有多少种配色方案
    27 
    28     )
    29 
    30     myword = wc.generate(wl)  # 生成词云
    31     plt.imshow(myword)    # 展示词云图
    32 
    33     plt.axis("off")
    34 
    35     plt.show()
    36 
    37     wc.to_file('img_book.png')        # 把词云保存下
    38 
    39 #展示自己想要的文本的高频词出现次数代码
    40 txt=open("人间失格.txt","r",encoding='utf-8').read()   #打开自己想要的文本
    41 words=jieba.lcut(txt)
    42 counts={}
    43 for word in words:
    44     if len(word)==1:  #排除单个字符的分词结果
    45         continue
    46     else :
    47         counts[word]=counts.get(word,0)+1
    48 items=list(counts.items())
    49 items.sort(key=lambda x:x[1],reverse=True)
    50 for i in range(20):   #展示的高频词个数
    51     word,count=items[i]
    52     print ("{0:<20}{1:>5}".format(word,count))
    53 if __name__ == '__main__':
    54 create_word_cloud('人间失格')   #将词云展现出来,调用词云函数

     (自己下载的一些小说、文章的形式要txt)

    三、视图展示:

    ( 高频词的出现次数运行图)

    (词云视图展示)

    (词云还有背景可以设置成你想要的图片形式,但是我不会,如果想要了解,另寻高人吧,或者等我学会之后再来教你们)

  • 相关阅读:
    IPC机制key值的各位组成
    ctrl+c,ctrl+d,ctrl+z在linux中意义
    Linux x86_64与i386区别之 —— 内存寻址
    readdir_r()读取目录内容
    memmove和memcpy
    sscanf的应用
    获取CPU频率
    盘点十个超级实用的 JS 特性
    Java 类在 Tomcat 中是如何加载的?
    Java 类在 Tomcat 中是如何加载的?
  • 原文地址:https://www.cnblogs.com/asd516970982/p/10646476.html
Copyright © 2020-2023  润新知