第一步:首先需要安裝工具python
第二步:在電腦cmd后台下載安裝如下工具:
(有一些是安裝好python電腦自帶有哦)
有一些會出現一種情況就是安裝不了詞雲展示庫
有下面解決方法,需看請復制鏈接查看:https://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
第三步:
1.准備好你打算統計的文件,命名為 家.txt,保存到桌面
2.准備一個做背景的圖片,命名為girl.jpg,同樣保存到桌面
第四步:插入代碼
1 import re # 正則表達式庫 2 import collections # 詞頻統計庫 3 import numpy as np # numpy數據處理庫 4 import jieba # 結巴分詞 5 import wordcloud # 詞雲展示庫 6 from PIL import Image # 圖像處理庫 7 import matplotlib.pyplot as plt # 圖像展示庫 8 9 # 讀取文件 10 fn = open('C://Users//Thinkpad//Desktop//家.txt','rt') # 打開文件 11 string_data = fn.read() # 讀出整個文件 12 fn.close() # 關閉文件 13 14 # 文本預處理 15 pattern = re.compile(u'\t|\n|\.|-|:|;|\)|\(|\?|"') # 定義正則表達式匹配模式 16 string_data = re.sub(pattern, '', string_data) # 將符合模式的字符去除 17 18 # 文本分詞 19 seg_list_exact = jieba.cut(string_data, cut_all = False) # 精確模式分詞 20 object_list = [] 21 remove_words = [u'的', u',',u'和', u'是', u'隨着', u'對於', u'對',u'等',u'能',u'都',u'。',u' ',u'、',u'中',u'在',u'了', 22 u'通常',u'如果',u'我們',u'需要'] # 自定義去除詞庫 23 24 for word in seg_list_exact: # 循環讀出每個分詞 25 if word not in remove_words: # 如果不在去除詞庫中 26 object_list.append(word) # 分詞追加到列表 27 28 # 詞頻統計 29 word_counts = collections.Counter(object_list) # 對分詞做詞頻統計 30 word_counts_top10 = word_counts.most_common(10) # 獲取前10最高頻的詞 31 print (word_counts_top10) # 輸出檢查 32 33 # 詞頻展示 34 mask = np.array(Image.open('C://Users//Thinkpad//Desktop//girl.jpg')) # 定義詞頻背景 35 wc = wordcloud.WordCloud( 36 font_path='C:/Windows/Fonts/simhei.ttf', # 設置字體格式 37 mask=mask, # 設置背景圖 38 max_words=200, # 最多顯示詞數 39 max_font_size=100 # 字體最大值 40 ) 41 42 wc.generate_from_frequencies(word_counts) # 從字典生成詞雲 43 image_colors = wordcloud.ImageColorGenerator(mask) # 從背景圖建立顏色方案 44 wc.recolor(color_func=image_colors) # 將詞雲顏色設置為背景圖方案 45 plt.imshow(wc) # 顯示詞雲 46 plt.axis('off') # 關閉坐標軸 47 plt.show() # 顯示圖像
(其中代碼中有打開路徑,每個人存的位置不一樣,自己復制粘貼過來哦)
第五步:正常運行
(內附一張背景圖)