You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
1.2 KiB

import jieba
from PIL import Image
from wordcloud import WordCloud
import numpy as np
import matplotlib.pyplot as plt
#导入文本内容,删除换行符和空格
text = open(r"弹幕.txt",encoding='utf-8').read()
text = text.replace('\n',"").replace("\u3000","")
#将其分成一个个词
text_cut = jieba.lcut(text)
#将分好的词用某个符号分隔开连成字符串
text_cut = [word for word in text_cut if len(word) > 1]
text_cut = ' '.join(text_cut)
#停用词
#stop_words = set(["的","了","是","和",'这','吧','不','看','啊','我','就','也','那','我','还','吗','你','都'])
#读取背景图
background_image = np.array(Image.open('trophy.png'))
word_cloud = WordCloud(font_path="simsun.ttc",
background_color = "white",
mask=background_image,
collocations = False,#防止词云图出现重复单词
#stopwords=stop_words,
max_font_size=100,
max_words=200,
min_font_size=10,
colormap='viridis'
)
word_cloud.generate(text_cut)
image = word_cloud.to_image()
image.show()
word_cloud.to_file("词云图.png")