您現在的位置是:首頁 > 籃球
「教師節感恩」用python製作感恩語的詞雲圖
- 由 Mathsion晨默 發表于 籃球
- 2022-09-17
支付用單例模式嗎
教師節已經過了一天了,辭藻不華麗的我只能簡單的說一聲祝天下所有的老師們節日快樂。
但作為一個技術小白,除了話語,也該用自己所學的表達感恩:用python來製作感恩詞語的詞雲圖
具體步驟如下:
步驟一:準備一些感恩的句子,放在一個檔案中。
如圖所示:這裡我存放的檔案是:text1。text,且把檔案放在跟原始碼同目錄下
步驟二:準備一些能夠凸顯圖片中形狀的圖片,詞雲圖的形狀就跟圖片中的形狀一樣
如圖:
步驟三:編寫程式碼
from re import subfrom collections import Counterfrom PIL import Imagefrom jieba import cutfrom numpy import arrayfrom wordcloud import WordCloudwith open(‘text1。text’, encoding=‘utf-8’) as fp: # 去除重複的句子 content = set(fp。readlines()) print(len(content)) # 拼接所有句子,刪除數字編號 text = sub(‘\d+’, ‘’, ‘’。join(content)) print(text) # 建立詞雲圖時要忽略的詞語 excloudes = (‘教師節’, ‘祝您’, ‘老師’, ‘我們’, ‘教師’, ‘學生’) words = filter(lambda word: len(word) > 1 and word not in excloudes, cut(text)) print(words) # 根據出現次數最多的前200個詞繪製雲圖 freq = dict(Counter(words)。most_common(400)) # 準備一個心型圖片,控制詞雲圖形狀 img = Image。open(‘img7。png’) size = img。size wc = WordCloud(r‘font3。ttf’,width=size[0], height=size[1], mask=array(img), background_color=‘white’, font_step=3, random_state=False, prefer_horizontal=0。6) wc。generate_from_frequencies(freq)。to_image()。show()
效果展示如下:透過更換不同的字型,不同形狀的圖片可以呈現不同的效果