1. 程式人生 > >用Python詞雲展示周董唱過的歌,發現內含秘密

用Python詞雲展示周董唱過的歌,發現內含秘密

結巴 ins TE bsp atp 實戰 mod 中文字庫 技術分享

技術分享圖片

馬上開始了,你準備好了麽

準備工作

環境:Windows + Python3.6
IDE:根據個人喜好,自行選擇
模塊:
Matplotlib是一個 Python 的 2D數學繪圖庫

1 pip install matplotlib
2 import matplotlib.pyplot as plt

jieba中文分詞庫

1 pip install jieba
2 import jieba

wordcloud詞雲庫

1 pip install wordcloud
2 from wordcloud import WordCloud

實戰具體步驟:

1、讀入txt文本數據。
2、結巴中文分詞,生成字符串默認精確模式,如果不通過分詞,無法直接生成正確的中文詞雲。
3、生成詞雲圖,這裏需要註意的是WordCloud默認不支持中文,所以這裏需已下載好的中文字庫。
(無自定義背景圖:需要指定生成詞雲圖的像素大小,默認背景顏色為黑色,統一文字顏色:mode=‘RGBA‘和colormap=‘pink‘)
4、顯示圖片。

總體而言只有四個步驟還是比較簡單的那咱們先看一下實現的效果圖吧!

技術分享圖片 技術分享圖片 看到效果圖後發現裏面的秘密沒? 完整代碼
 1 # Matplotlib是一個 Python 的 2D數學繪圖庫
 2 # 安裝:pip install matplotlib
 3 import matplotlib.pyplot as plt
 4 # jieba中文分詞庫
 5 # 安裝:pip install jieba
 6 import jieba
 7 # wordcloud詞雲庫
 8 # 安裝pip install wordcloud
 9 from wordcloud import WordCloud
10 11 # 1.讀入txt文本數據 12 text = open(r.\jay.txt, "r").read() 13 #print(text) 14 15 # 2.結巴中文分詞,生成字符串,默認精確模式,如果不通過分詞,無法直接生成正確的中文詞雲 16 cut_text = jieba.cut(text) 17 # print(type(cut_text)) 18 # print(next(cut_text)) 19 # print(next(cut_text)) 20 # print(next(cut_text)) 21 # 必須給個符號分隔開分詞結果來形成字符串,否則不能繪制詞雲
22 result = " ".join(cut_text) 23 #print(result) 24 25 # 3.生成詞雲圖,這裏需要註意的是WordCloud默認不支持中文,所以這裏需已下載好的中文字庫 26 # 無自定義背景圖:需要指定生成詞雲圖的像素大小,默認背景顏色為黑色,統一文字顏色:mode=‘RGBA‘和colormap=‘pink‘ 27 wc = WordCloud( 28 # 設置字體,不指定就會出現亂碼 29 font_path=r.\simhei.ttf, 30 # 設置背景色 31 background_color=white, 32 # 設置背景寬 33 width=500, 34 # 設置背景高 35 height=350, 36 # 最大字體 37 max_font_size=50, 38 # 最小字體 39 min_font_size=10, 40 ) # max_words=1000 ),mode=‘RGBA‘,colormap=‘pink‘) 41 # 產生詞雲 42 wc.generate(result) 43 # 保存圖片 44 wc.to_file(r".\wordcloud.png") # 按照設置的像素寬高度保存繪制好的詞雲圖,比下面程序顯示更清晰 45 46 # 4.顯示圖片 47 # 指定所繪圖名稱 48 plt.figure("jay") 49 # 以圖片的形式顯示詞雲 50 plt.imshow(wc) 51 # 關閉圖像坐標系 52 plt.axis("off") 53 plt.show() 54 print(Python學習交流群:125240963,群內每天分享幹貨,包括最新的python企業案例學習資料和零基礎入門教程,歡迎各位小夥伴入群學習交流)

用Python詞雲展示周董唱過的歌,發現內含秘密