【Python】Wordcloud 詞雲
本週為大家帶來炫酷好玩的 wordcloud 詞雲構造庫。
使用 wordcloud 可以做出這樣的圖片:
還可以做出這樣的:
接下來,我們來學習如何製作屬於自己的詞雲圖。
本來想說一句,安裝過程不表,直接進入正題,可是在程式設計教室的QQ群和微信群中都有人遇到wordcloud 安裝失敗的問題。
所以在此簡單提一下安裝過程:
當然最直接的是 pip
pip install wordcloud
但很多同學會發現直接 pip 是會報錯的,所以這裡提供第二種安裝方式:
下載 whl 手動安裝包:
靜靜等待頁面載入完成,然後選擇適合自己 Python 的 wordcloud 版本,最後執行以下命令。filepath 替換為你的安裝檔案完整路徑。
pip install filepath\wordcloud-1.2.1-cp35-cp35m-win_amd64.whl
wordcloud 在安裝過程中會自動安裝其依賴的庫。
基本的用法
我們讀入一本英文小說,取其中的詞彙生成一張詞雲圖
-
# 匯入 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')
最終的結果:
關於 wordcloud 的一些基本的常用的方法就在這裡。想了解更多特性的同學,可以訪問官方網站:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29096438/viewspace-2146151/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Python詞雲庫wordcloud中文顯示問題詳解PythonCloud
- JB的Python之旅-資料分析篇-jieba&wordcloud(詞雲)PythonJiebaCloud
- Python視覺化-generate_from_frequencies給定詞頻畫詞雲圖(WordCloud)Python視覺化Cloud
- 已知詞頻生成詞雲圖(資料庫到生成詞雲)--generate_from_frequencies(WordCloud)資料庫Cloud
- 用WordCloud詞雲+LDA主題模型,帶你讀一讀《芳華》(python實現)CloudLDA模型Python
- matplotlib 圖示 中文亂碼, 與 wordcloud 詞雲圖 中文亂碼 解決方法Cloud
- Python 詞雲系列Python
- python分詞和生成詞雲圖Python分詞
- 如何用Python做詞雲?Python
- python -wordcloudan雲詞安裝PythonCloud
- Python文字處理NLP:分詞與詞雲圖Python分詞
- Python pyecharts繪製詞雲圖PythonEcharts
- 如何用Python 製作詞雲-對1000首古詩做詞雲分析Python
- Python如何生成詞雲(詳細分析)Python
- 如何用python建立詞雲圖片Python
- python3.9安裝wordcloud出錯解決辦法PythonCloud
- python讀取txt文字資料進行分詞並生成詞雲圖片Python分詞
- Python自定義詞雲圖形狀和文字顏色Python
- 如何用Python做詞雲?(基礎篇視訊教程)Python
- 一步一步教你如何用Python做詞雲Python
- Python 爬蟲獲取網易雲音樂歌手歌詞Python爬蟲
- Python爬蟲之js加密破解,抓取網易雲音樂評論生成詞雲Python爬蟲JS加密
- 利用Python網路爬蟲抓取網易雲音樂歌詞Python爬蟲
- win安裝wordcloud報錯解決方案Cloud
- pyinstaller和wordcloud和jieba的使用案列CloudJieba
- word_cloud 中文詞雲Cloud
- 純前端實現詞雲展示+附微博熱搜詞雲Demo程式碼前端
- 有道雲詞典--翻譯/螢幕取詞翻譯
- python jieba庫,句子分詞PythonJieba分詞
- Python 英語單詞本Python
- python如何統計詞頻Python
- python的詞性標註Python詞性標註
- python 中文分詞包 jiebaPython中文分詞Jieba
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】"王心凌"熱門彈幕python輿情分析爬蟲Python
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】“劉畊巨集“熱門彈幕python輿情分析爬蟲Python
- 【爬蟲+情感判定+Top10高頻詞+詞雲圖】“谷愛凌”熱門彈幕python輿情分析爬蟲Python
- 政府工作報告詞雲
- 如何實現一個詞雲
- python的requests_html庫和詞雲分析2018政府工作報告全文PythonHTML