「教师节感恩」用python制作感恩语的词云图

教师节到了,辞藻不华丽的我只能简单的说一声祝天下所有的老师们节日快乐。

但作为一个技术小白,除了话语,也该用自己所学的表达感恩:用python来制作感恩词语的词云图

具体步骤如下:

步骤一:准备一些感恩的句子,放在一个文件中。

如图所示:这里我存放的文件是:text1.txt,且把文件放在跟源码同目录下


屏幕截图 2022-09-11 142607.png

步骤二:准备一些能够凸显图片中形状的图片,词云图的形状就跟图片中的形状一样

如图:

img2.jpeg
img3.jpeg

步骤三:编写代码

from re import sub
from collections import Counter
from PIL import Image
from jieba import cut
from numpy import array
from wordcloud import WordCloud

with 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()

效果展示如下:通过更换不同的字体,不同形状的图片可以呈现不同的效果

屏幕截图 2022-09-11 091234.png
屏幕截图 2022-09-11 091338.png
屏幕截图 2022-09-11 091427.png
屏幕截图 2022-09-11 091816.png
屏幕截图 2022-09-11 092042.png
屏幕截图 2022-09-11 092225.png
屏幕截图 2022-09-11 092511.png
屏幕截图 2022-09-11 092930.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容