python-結(jié)巴分詞+詞云展示
需要庫
import jieba # 分詞
from matplotlib import pyplot as plt # 繪圖
from wordcloud import WordCloud # 詞云
from PIL import Image # 圖片處理
import numpy as np # 矩陣運算
結(jié)果快覽

詞云
制作步驟
- 準備文檔字符串,并進行結(jié)巴分詞
- 準備詞云底圖形狀的圖片并生成圖片數(shù)組
- 準備系統(tǒng)字體路徑
- 將分詞填充到圖片數(shù)組中
- 生成圖片
源代碼如下
#!/usr/bin/env python
# -- coding = 'gbk' --
# @Python : 3.7
# @OS : Windows 10 kiton.
# @Time : 2021/3/5 0:47
# @Author :
# @E-mail : 1154282938@qq.com
# @File : wordcloud1.py
# @Software: PyCharm
import jieba # 分詞
from matplotlib import pyplot as plt # 繪圖
from wordcloud import WordCloud # 詞云
from PIL import Image # 圖片處理
import numpy as np # 矩陣運算
text = r"先帝開創(chuàng)的大業(yè)未完成一半?yún)s中途去世了?,F(xiàn)在天下分為三國,指蜀漢國力薄弱,處境艱難。這確實是國家危急存\
亡的時期啊。不過宮廷里侍從護衛(wèi)的官員不懈怠,戰(zhàn)場上忠誠有志的將士們奮不顧身,大概是他們追念先帝對他們的特別的\
知遇之恩(作戰(zhàn)的原因),想要報答在陛下您身上。(陛下)你實在應(yīng)該擴大圣明的聽聞,來發(fā)揚光大先帝遺留下來的美德, \
振奮有遠大志向的人的志氣,不應(yīng)當(dāng)隨便看輕自己,說不恰當(dāng)?shù)脑?,以致于堵塞人們忠心地進行規(guī)勸的言路?;蕦m中\(zhòng)
和朝廷里的大臣,本都是一個整體,獎懲功過,不應(yīng)有所不同。如有作惡違法的人,或行為忠善的人,都應(yīng)該交給主管官\
吏評定對他們的懲獎,以顯示陛下處理國事的公正嚴明,而不應(yīng)當(dāng)有偏袒和私心,使宮內(nèi)和朝廷獎罰方法不同。侍中、侍\
郎郭攸之、費祎、董允等人,都是善良誠實、心志忠貞純潔的人,他們的志向和心思忠誠無二。因此先帝選拔他們留給陛\
下。我認為宮中之事,無論事情大小,都拿來跟他商討,這樣以后再去實施,一定能夠彌補缺點和疏漏之處。得到更多的好\
處。將軍向?qū)?,性格和品行善良公正,精通軍事,從前任用時,先帝稱贊他很有才能,因此眾人商議推舉他做中部督。我認\
為禁軍營中的事,都拿來跟他商討,就一定能使軍隊團結(jié)一心,不同才能的人各得其所。親近賢臣,疏遠小人,這是前漢所以\
興盛的原因;親近小人,疏遠賢臣,這是后漢之所以衰敗的原因。先帝在世的時候,每逢跟我談?wù)撨@些事情,未嘗不嘆息而痛恨\
桓帝、靈帝時期的腐敗。侍中、尚書、長史、參軍,這些人都是忠貞善良、守節(jié)不逾的大臣,望陛下親近他們,信任他們,那么\
漢朝的復(fù)興,就指日可待了。我本來是平民,在南陽親自耕田,在亂世中茍且保全性命,不奢求在諸侯之中出名。先帝不因為我身\
份卑微,屈尊下駕來看我,三次去我的茅廬拜訪我,征詢我對時局大事的意見,我因此十分感動,就答應(yīng)為先帝奔走效勞。后來\
遇到兵敗,在兵敗的時候接受任務(wù),形勢危急之時奉命出使,從這以來二十一年了。先帝知道我做事小心謹慎,所以臨終時把\
國家大事托付給我。接受遺命以來,我日夜憂慮嘆息,只怕先帝托付給我的大任不能實現(xiàn),以致?lián)p傷先帝的知人之明,所以我五月\
渡過瀘水,深入到人煙稀少的地方?,F(xiàn)在南方已經(jīng)平定,兵員裝備已經(jīng)充足,應(yīng)當(dāng)激勵將領(lǐng)士兵,平定中原,希望用盡我平庸的才\
能,鏟除奸邪兇惡的敵人,興復(fù)漢室的任務(wù)托付給我,返還舊都.這是我用以報答先帝盡忠陛下的職責(zé)。至于處理事務(wù),斟酌情理,\
毫無保留地貢獻忠言,那是郭攸之、費祎、董允的責(zé)任。希望陛下能夠把討伐曹魏,興復(fù)漢室的任務(wù)托付給我,若不能完成,就治\
我的罪,(從而)用來告慰先帝的在天之靈。如果沒有振興圣德的建議,那就責(zé)備郭攸之、費祎、董允等人的怠慢。來揭示他們的過\
失;陛下也應(yīng)自行謀劃,毫無保留地進獻忠誠的建議,采納正確的言論,深切追念先帝臨終留下的教誨。我感激不盡。今天(我)將要\
告別陛下遠行了,面對這份奏表禁不住熱淚縱橫,也不知說了些什么。"
cut = jieba.cut(text)
string = ' '.join(cut)
print(len(string))
# print(string)
img = Image.open(r'.\123.png')
img_array = np.array(img) # 將圖片轉(zhuǎn)化為數(shù)組
wc = WordCloud(
background_color='white',
mask=img_array,
font_path=r"C:\Windows\Fonts\msyh.ttc"
)
wc.generate_from_text(string)
# 繪制圖片
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off') # 不顯示坐標軸
plt.show()
運行結(jié)果
Building prefix dict from the default dictionary ...
Loading model from cache C:\Users\ADMINI~1\AppData\Local\Temp\jieba.cache
Loading model cost 0.590 seconds.
Prefix dict has been built successfully.
2284
Process finished with exit code 0

顯示的詞云plot