溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Python怎么生成Wordcloud詞云

發(fā)布時間:2021-12-30 17:41:42 來源:億速云 閱讀:164 作者:iii 欄目:編程語言

這篇文章主要講解了“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)~云圖

  1. # 導(dǎo)入 wordcloud 模塊和 matplotlib 模塊

  2. from wordcloud import WordCloud

  3. import matplotlib.pyplot as plt

  4. # 讀入一個txt文件

  5. text = open('Jane Eyre.txt','r').read()

  6. # 生成詞云

  7. wordcloud = WordCloud().generate(text)

  8. # 顯示詞云圖片

  9. plt.imshow(wordcloud)

  10. plt.axis('off')

  11. plt.show()

  12. # 保存圖片

  13. wordcloud.to_file('test.jpg')

結(jié)果如圖所示

運(yùn)行腳本之后就可以看到生成的圖片了,是不是很簡單。本文主要講 wordcloud。代碼中涉及到的 matplotlib 就不做更詳細(xì)解釋。

除了直接讀入文本生成詞云,也可以使用字典格式的詞頻作為輸入

  1. # 讀入一組詞頻字典文件

  2. text_dict = {

  3.     'you': 2993,

  4.     'and': 6625,

  5.     'in': 2767,

  6.     'was': 2525,

  7.     'the': 7845,

  8. }

  9. wordcloud = WordCloud().generate_from_frequencies(text_dict)

還可以將詞云填充到指定的形狀之中。為達(dá)到填充指定形狀的效果,需要使用 png 格式的圖片。

  1. # 讀入圖片

  2. from scipy.misc import imread

  3. bg_pic = imread('Anne_Hathaway.png')

  4. # 配置詞云參數(shù)

  5. wc = WordCloud(

  6.     # 設(shè)置字體

  7.     font_path = 'BeaverScratches.ttf',

  8.     # 設(shè)置背景色

  9.     background_color='white',

  10.     # 允許最大詞匯

  11.     max_words=200,

  12.     # 詞云形狀

  13.     mask=bg_pic,

  14.     # 最大號字體

  15.     max_font_size=100,

  16. )

  17. # 生成詞云

  18. wc.generate(text)

  19. # 保存圖片

  20. wc.to_file('word.jpg')

還可以結(jié)合 jieba分詞,實(shí)現(xiàn)用中文填充的詞云圖(如果不通過分詞,無法直接生成正確的中文詞云)。使用中文填充時一定得指定中文的字體,否則會出現(xiàn)亂碼。如果報(bào)錯找不到字體,就復(fù)制一個中文字體文件放在代碼目錄下。

  1. #-*- coding:utf-8 -*-

  2. from scipy.misc import imread

  3. import matplotlib.pyplot as plt

  4. from wordcloud import WordCloud

  5. import jieba

  6. from collections import Counter

  7. # 讀入 西游記 txt 文件,windows 下過濾編碼錯誤

  8. text = open('西游記.txt',encoding='utf-8',errors='ignore').read()

  9. # 使用 jieba 分詞

  10. text_jieba = list(jieba.cut(text))

  11. # 使用 counter 做詞頻統(tǒng)計(jì),選取出現(xiàn)頻率前 100 的詞匯

  12. c = Counter(text_jieba)

  13. common_c = c.most_common(100)

  14. # 讀入圖片

  15. bg_pic = imread('Anne_Hathaway.png')

  16. # 配置詞云參數(shù)

  17. wc = WordCloud(

  18.     # 設(shè)置字體

  19.     font_path = '李旭科書法1.4.ttf',

  20.     # 設(shè)置背景色

  21.     background_color='white',

  22.     # 允許最大詞匯

  23.     max_words=200,

  24.     # 詞云形狀

  25.     mask=bg_pic,

  26.     # 最大號字體

  27.     max_font_size=100,

  28. )

  29. # 生成詞云

  30. wc.generate_from_frequencies(dict(common_c))

  31. # 生成圖片并顯示

  32. plt.figure()

  33. plt.imshow(wc)

  34. plt.axis('off')

  35. plt.show()

  36. # 保存圖片

  37. wc.to_file('anne.jpg')

感謝各位的閱讀,以上就是“Python怎么生成Wordcloud詞云”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Python怎么生成Wordcloud詞云這一問題有了更深刻的體會,具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(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)容。

AI