您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python怎么生成Wordcloud詞云”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Python怎么生成Wordcloud詞云”吧!
當(dāng)然最直接的是 pip
pip install wordcloud
但很多同學(xué)會發(fā)現(xiàn)直接 pip 是會報(bào)錯的,所以這里提供第二種安裝方式:
下載 whl 手動安裝包: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 在安裝過程中會自動安裝其依賴的庫。
<h5 white-space:normal;widows:1;background-color:#ffffff;box-sizing:border-box="" !important;"=""> 基本的用法
我們讀入一本英文小說,取其中的詞匯生成一張?jiān)~云圖
# 導(dǎo)入 wordcloud 模塊和 matplotlib 模塊
from wordcloud import WordCloud
import matplotlib.pyplot as plt
# 讀入一個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)行腳本之后就可以看到生成的圖片了,是不是很簡單。本文主要講 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,
# 最大號字體
max_font_size=100,
)
# 生成詞云
wc.generate(text)
# 保存圖片
wc.to_file('word.jpg')
還可以結(jié)合 jieba分詞,實(shí)現(xiàn)用中文填充的詞云圖(如果不通過分詞,無法直接生成正確的中文詞云)。使用中文填充時一定得指定中文的字體,否則會出現(xiàn)亂碼。如果報(bào)錯找不到字體,就復(fù)制一個中文字體文件放在代碼目錄下。
#-*- 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 下過濾編碼錯誤
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,
# 最大號字體
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í)后,相信大家對Python怎么生成Wordcloud詞云這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。