Python通過文本和圖片生成詞云圖
使用現有的txt文本和圖片,就可以用wordcloud包生成詞云圖。大致步驟是:
1、讀取txt文本并簡單處理;
2、讀取圖片,以用作背景;
3、生成詞云對象,保存為文件。
需要用到3個庫:jieba(用于分割文本為詞語)、imageio(用于讀取圖片)、wordcloud(功能核心,用于生成詞云)。
我用簡歷和我的照片,生成了一個詞云圖:
代碼如下:
import jiebaimport imageioimport wordcloud# 讀取txt文本with open(’resume.txt’,’r’,encoding=’utf-8’) as f: text = f.read()# 簡單處理文本,刪除空格等多余字符text = text.replace(’ ’,’’).replace(’t’,’’).replace(’n’,’’)# 使用jieba分隔詞語wordlist = jieba.lcut(text) # [’aa’,’bb’,’cc’...]# print(wordlist)# 用空格連接各個詞語,又形成一個大字符串string = ’ ’.join(wordlist) # ’aa bb cc’# 讀取圖片image = imageio.imread(’ding.jpg’)# 生成詞云圖片# 先實例化一個詞云對象wc = wordcloud.WordCloud(width=image.shape[0], # 詞云圖寬度同原圖片寬度 height=image.shape[1], background_color=’white’, # 背景顏色白色 font_path=’msyh.ttc’, # 指定字體路徑,微軟雅黑,可從win自帶的字體庫中找 mask=image, # mask 指定詞云形狀圖片,默認為矩形 scale=3) # 默認為1,越大越清晰# 再給詞云輸入文字wc.generate(string)# 保存成文件wc.to_file(’wordcloud21.png’)
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持好吧啦網。
相關文章: