Python生成詞雲——WordCount入門
阿新 • • 發佈:2018-12-22
主要內容:
- 介紹詞雲
- 用Python的WordCount包實現詞雲
詞雲
- 關鍵詞的視覺化描述;
- 圖形視覺化;
- 用於彙總使用者生成的標籤或一個網站的文字內容;
- 重要程度能通過改變字型大小或顏色來表現;
- 大多數標籤本身就是超級連結,直接指向與標籤相聯的一系列條目。
Python實現詞雲
構造詞雲的方法很多,這裡推薦Python的WordCount包,實現非常方便,且能夠自定義圖片。具體可參考:WordCount官方文件
型別一:Minimal Example
先來看看效果圖:
該型別主要是根據內容中單詞出現的次數的不同而繪製的。出現次數越多,標籤字型越大;出現次數越少,相應的字型越小。從該詞雲中可以看出,“data”,“Spark”,“Hadoop”出現次數較多,據此能夠推測該內容主要設計的是大資料領域。下面是其實現程式碼:
# 匯入相關的庫
from os import path
import matplotlib.pyplot as plt
from wordcloud import WordCloud
# 獲取當前檔案路徑
# __file__ 為當前檔案, 在ide中執行此行會報錯,可改為
# d = path.dirname('.')
d = path.dirname('.')
# 讀取整個檔案
text = open(path.join(d, '/home/spark/WordCount.txt')).read()
wordcloud = WordCloud().generate(text)
# 繪圖
plt.imshow(wordcloud)
plt.axis("off")
plt.show()
型別二:Image-colored wordcloud
還是先看看效果圖:
該型別基於影象的著色策略為詞雲著色,並修改詞雲形狀。
from os import path
from scipy.misc import imread
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
d = path.dirname('.')
# Read the whole text.
text = open(path.join(d, '/home/spark/WordCount.txt')).read()
# 設定背景圖片
RGB_coloring = imread(path.join(d, "/home/spark/RGB.jpg"))
# 設定引數:背景顏色,詞雲顯示的最大詞數,設定背景圖片,字型最大值
wc = WordCloud(background_color="white",max_words=2000,mask=RGL_coloring,stopwords=STOPWORDS.add("said"),max_font_size=40, random_state=42)
# generate word cloud
wc.generate(text)
# 從背景圖片生成顏色值
image_colors = ImageColorGenerator(RGB_coloring)
# show
plt.imshow(wc)
plt.axis("off")
#繪製詞雲
plt.figure()
# recolor wordcloud and show
# we could also give color_func=image_colors directly in the constructor
plt.imshow(wc.recolor(color_func=image_colors))
plt.axis("off")
plt.figure()
plt.imshow(RGB_coloring, cmap=plt.cm.gray)
plt.axis("off")
plt.show()