您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python怎么生成Wordcloud詞云”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python怎么生成Wordcloud詞云”吧!
當然最直接的是 pip
pip install wordcloud
但很多同學會發現直接 pip 是會報錯的,所以這里提供第二種安裝方式:
下載 whl 手動安裝包:http://www.lfd.uci.edu/~gohlke/pythonlibs/#wordcloud
靜靜等待頁面加載完成,然后選擇適合自己 Python 的 wordcloud 版本,最后運行以下命令。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;"=""> 基本的用法
我們讀入一本英文小說,取其中的詞匯生成一張詞云圖
# 導入 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')
結果如圖所示
運行腳本之后就可以看到生成的圖片了,是不是很簡單。本文主要講 wordcloud。代碼中涉及到的 matplotlib 就不做更詳細解釋。
除了直接讀入文本生成詞云,也可以使用字典格式的詞頻作為輸入
# 讀入一組詞頻字典文件
text_dict = {
'you': 2993,
'and': 6625,
'in': 2767,
'was': 2525,
'the': 7845,
}
wordcloud = WordCloud().generate_from_frequencies(text_dict)
還可以將詞云填充到指定的形狀之中。為達到填充指定形狀的效果,需要使用 png 格式的圖片。
# 讀入圖片
from scipy.misc import imread
bg_pic = imread('Anne_Hathaway.png')
# 配置詞云參數
wc = WordCloud(
# 設置字體
font_path = 'BeaverScratches.ttf',
# 設置背景色
background_color='white',
# 允許最大詞匯
max_words=200,
# 詞云形狀
mask=bg_pic,
# 最大號字體
max_font_size=100,
)
# 生成詞云
wc.generate(text)
# 保存圖片
wc.to_file('word.jpg')
還可以結合 jieba分詞,實現用中文填充的詞云圖(如果不通過分詞,無法直接生成正確的中文詞云)。使用中文填充時一定得指定中文的字體,否則會出現亂碼。如果報錯找不到字體,就復制一個中文字體文件放在代碼目錄下。
#-*- 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 做詞頻統計,選取出現頻率前 100 的詞匯
c = Counter(text_jieba)
common_c = c.most_common(100)
# 讀入圖片
bg_pic = imread('Anne_Hathaway.png')
# 配置詞云參數
wc = WordCloud(
# 設置字體
font_path = '李旭科書法1.4.ttf',
# 設置背景色
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詞云”的內容了,經過本文的學習后,相信大家對Python怎么生成Wordcloud詞云這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。