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)
三、视图展示:
( 高频词的出现次数运行图)
(词云视图展示)
(词云还有背景可以设置成你想要的图片形式,但是我不会,如果想要了解,另寻高人吧,或者等我学会之后再来教你们)