diff --git a/task3.py b/task3.py new file mode 100644 index 0000000..2142692 --- /dev/null +++ b/task3.py @@ -0,0 +1,45 @@ +import jieba +from matplotlib import pyplot as plt +from wordcloud import WordCloud +from PIL import Image +import numpy as np + +def predeal(txt): + cut = jieba.cut(txt) # 分词 + string = ' '.join(cut) + return string + +def drawcloud(imgpath, stopword, string, savepath): + try: + img = Image.open(imgpath) # 打开图片 + except IOError as e: + print(f"打开图片时出错:{e}") + return + img_array = np.array(img) # 将图片转换为数组 + wordcloud = WordCloud( + background_color='white', + width=1000, + height=800, + mask=img_array, # 设置背景图片 + font_path='C:\\Windows\\Fonts\\msyh.ttc', # 电脑自带的字体 + stopwords=stopword, + colormap='plasma' + ) + wordcloud.generate_from_text(string) # 绘制图片 + plt.imshow(wordcloud) + plt.axis('off') + wordcloud.to_file(savepath) # 保存图片 + +if __name__ == '__main__': + txtpath = r'd:\学习\软件工程\swork\res\select_ai.txt' + imgpath = r'd:\学习\软件工程\swork\tu4.png' + savepath = r'd:\学习\软件工程\swork\cloud_ai.png' + stopword = ['啊', '的', '是', '视频', '个', '哈', '第', '哈哈哈', '吧', '了', '我', '你'] # 设置不想显示的词 + try: + with open(txtpath, 'r', encoding='utf-8') as file: + txt = file.read() + except FileNotFoundError as e: + print(f"读取文本文件时出错:{e}") + else: + string = predeal(txt) + drawcloud(imgpath, stopword, string, savepath) \ No newline at end of file