這篇文章主要講解了“Python怎么生成Wordcloud詞云”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python怎么生成Wordcloud詞云”吧!
成都創(chuàng)新互聯(lián)是一家集網(wǎng)站建設(shè),玉溪企業(yè)網(wǎng)站建設(shè),玉溪品牌網(wǎng)站建設(shè),網(wǎng)站定制,玉溪網(wǎng)站建設(shè)報(bào)價(jià),網(wǎng)絡(luò)營銷,網(wǎng)絡(luò)優(yōu)化,玉溪網(wǎng)站推廣為一體的創(chuàng)新建站企業(yè),幫助傳統(tǒng)企業(yè)提升企業(yè)形象加強(qiáng)企業(yè)競(jìng)爭(zhēng)力。可充分滿足這一群體相比中小企業(yè)更為豐富、高端、多元的互聯(lián)網(wǎng)需求。同時(shí)我們時(shí)刻保持專業(yè)、時(shí)尚、前沿,時(shí)刻以成就客戶成長自我,堅(jiān)持不斷學(xué)習(xí)、思考、沉淀、凈化自己,讓我們?yōu)楦嗟钠髽I(yè)打造出實(shí)用型網(wǎng)站。
當(dāng)然最直接的是 pip
pip install wordcloud
但很多同學(xué)會(huì)發(fā)現(xiàn)直接 pip 是會(huì)報(bào)錯(cuò)的,所以這里提供第二種安裝方式:
下載 whl 手動(dòng)安裝包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
靜靜等待頁面加載完成,然后選擇適合自己 Python 的 wordcloud 版本,最后運(yùn)行以下命令。filepath 替換為你的安裝文件完整路徑。
pip install filepath\wordcloud-1.2.1-cp35-cp35m-win_amd64.whl
wordcloud 在安裝過程中會(huì)自動(dòng)安裝其依賴的庫。
我們讀入一本英文小說,取其中的詞匯生成一張?jiān)~云圖
# 導(dǎo)入 wordcloud 模塊和 matplotlib 模塊
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 讀入一個(gè)txt文件
text = open('Jane Eyre.txt','r').read()
# 生成詞云
wordcloud = WordCloud().generate(text)
# 顯示詞云圖片
plt.imshow(wordcloud)
plt.axis('off')
plt.show()
# 保存圖片
wordcloud.to_file('test.jpg')
結(jié)果如圖所示
運(yùn)行腳本之后就可以看到生成的圖片了,是不是很簡(jiǎn)單。本文主要講 wordcloud。代碼中涉及到的 matplotlib 就不做更詳細(xì)解釋。
除了直接讀入文本生成詞云,也可以使用字典格式的詞頻作為輸入
# 讀入一組詞頻字典文件
text_dict = {
'you': 2993,
'and': 6625,
'in': 2767,
'was': 2525,
'the': 7845,
}
wordcloud = WordCloud().generate_from_frequencies(text_dict)
還可以將詞云填充到指定的形狀之中。為達(dá)到填充指定形狀的效果,需要使用 png 格式的圖片。
# 讀入圖片
from scipy.misc import imread
bg_pic = imread('Anne_Hathaway.png')
# 配置詞云參數(shù)
wc = WordCloud(
# 設(shè)置字體
font_path = 'BeaverScratches.ttf',
# 設(shè)置背景色
background_color='white',
# 允許最大詞匯
max_words=200,
# 詞云形狀
mask=bg_pic,
# 最大號(hào)字體
max_font_size=100,
)
# 生成詞云
wc.generate(text)
# 保存圖片
wc.to_file('word.jpg')
還可以結(jié)合 jieba分詞,實(shí)現(xiàn)用中文填充的詞云圖(如果不通過分詞,無法直接生成正確的中文詞云)。使用中文填充時(shí)一定得指定中文的字體,否則會(huì)出現(xiàn)亂碼。如果報(bào)錯(cuò)找不到字體,就復(fù)制一個(gè)中文字體文件放在代碼目錄下。
#-*- coding:utf-8 -*-
from scipy.misc import imread
import matplotlib.pyplot as plt
from wordcloud import WordCloud
import jieba
from collections import Counter
# 讀入 西游記 txt 文件,windows 下過濾編碼錯(cuò)誤
text = open('西游記.txt',encoding='utf-8',errors='ignore').read()
# 使用 jieba 分詞
text_jieba = list(jieba.cut(text))
# 使用 counter 做詞頻統(tǒng)計(jì),選取出現(xiàn)頻率前 100 的詞匯
c = Counter(text_jieba)
common_c = c.most_common(100)
# 讀入圖片
bg_pic = imread('Anne_Hathaway.png')
# 配置詞云參數(shù)
wc = WordCloud(
# 設(shè)置字體
font_path = '李旭科書法1.4.ttf',
# 設(shè)置背景色
background_color='white',
# 允許最大詞匯
max_words=200,
# 詞云形狀
mask=bg_pic,
# 最大號(hào)字體
max_font_size=100,
)
# 生成詞云
wc.generate_from_frequencies(dict(common_c))
# 生成圖片并顯示
plt.figure()
plt.imshow(wc)
plt.axis('off')
plt.show()
# 保存圖片
wc.to_file('anne.jpg')
感謝各位的閱讀,以上就是“Python怎么生成Wordcloud詞云”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Python怎么生成Wordcloud詞云這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!