Python的詞云圖是一種漂亮的圖像展示形式,可以讓我們更好地了解文本數(shù)據(jù)的特點(diǎn)。下面我們來介紹一下如何用Python編寫詞云圖程序。
#導(dǎo)入相應(yīng)的庫和模塊 import jieba import numpy as np from PIL import Image from wordcloud import WordCloud,ImageColorGenerator import matplotlib.pyplot as plt #獲取文本內(nèi)容 text = open('text.txt','r').read() #分詞 wordlist = jieba.cut(text, cut_all=True) #獲取停用詞列表 stopword = [line.strip() for line in open('stopwords.txt','r',encoding='utf-8').readlines()] #過濾停用詞 wordlist = [ word for word in wordlist if word not in stopword ] #統(tǒng)計(jì)每個(gè)詞出現(xiàn)的次數(shù) wordcount = {} for word in wordlist: if word not in wordcount: wordcount[word] = 1 else: wordcount[word] += 1 #生成詞云圖 mask = np.array(Image.open('mask.jpg')) wc = WordCloud(background_color="white",mask=mask) wc.generate_from_frequencies(wordcount) plt.imshow(wc, interpolation="bilinear") plt.axis("off") plt.show()
上述代碼中,我們首先導(dǎo)入了需要的庫和模塊,分別是jieba、numpy、PIL和matplotlib.pyplot。我們還需要準(zhǔn)備兩個(gè)文本文件,一個(gè)是要生成詞云圖的文本,另外一個(gè)是停用詞列表。
代碼的核心是通過jieba進(jìn)行分詞,然后再過濾停用詞。接著統(tǒng)計(jì)每個(gè)詞出現(xiàn)的次數(shù),最后使用WordCloud庫生成詞云圖,并使用matplotlib.pyplot顯示圖像。
通過以上程序,我們就可以輕松地生成一個(gè)漂亮的詞云圖了!