詞云圖是將詞匯按照頻率的高低顯示不同大小而形成的圖,可以一目了然地看出關鍵詞。下面是詞云圖的python代碼~
#導入需要模塊
import jieba
import numpy as np
import matplotlib.pyplot as plt
from PIL import Image
from wordcloud import WordCloud, STOPWORDS, ImageColorGenerator
text_road=str(input('請輸入文章的路徑:'))
picture_road=str(input('請輸入圖片的路徑:'))
#加載需要分析的文章
text = open(text_road,'r',encoding='utf-8').read()
#對文章進行分詞
wordlist_after_jieba = jieba.cut(text, cut_all=False)
wl_space_split = " ".join(wordlist_after_jieba)
#讀取照片通過numpy.array函數將照片等結構數據轉化為np-array
mask=np.array(Image.open(picture_road))
#選擇屏蔽詞,不顯示在詞云里面
stopwords = set(STOPWORDS)
#可以加多個屏蔽詞
stopwords.add("
")
#創建詞云對象
wc = WordCloud(
background_color="white",
font_path='/Library/Fonts/Arial Unicode.ttf',
max_words=1000, # 最多顯示詞數
mask=mask,
stopwords=stopwords,
max_font_size=100 # 字體最大值
)
#生成詞云
wc.generate(text)
#從背景圖建立顏色方案
image_colors =ImageColorGenerator(mask)
#將詞云顏色設置為背景圖方案
wc.recolor(color_func=image_colors)
#顯示詞云
plt.imshow(wc,interpolation='bilinear')
#關閉坐標軸
plt.axis("off")
#顯示圖像
plt.show()
#保存詞云
wc.to_file('詞云圖.png')
下面這張圖是我爬了阿里巴巴招聘網站上所有數據分析職位需求,生成的詞云圖,大家可以看看阿里對數據分析師的要求~
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

