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.

37 lines
1.3 KiB

# 生成云图
def make_graph():
text_data = ''
with open('AI_danmu.txt', 'r', encoding='utf-8') as file:
for line in file:
text_data += line.strip() + ' '
# 使用jieba进行中文分词
words = jieba.cut(text_data, cut_all=False)
word_list = " ".join(words) #列表转成字符串
# 加载自定义形状图片
shape_mask = np.array(Image.open('img.png'))
# 创建词云图对象,并设置形状
wordcloud = WordCloud(width=2000,
background_color='white',
mask=shape_mask, # 使用自定义形状
contour_width=1,
contour_color='white', # 边框颜色
font_path='STKAITI.TTF', # 用于中文显示的字体文件
max_words=30000, # 最多显示的词语数量
colormap='Blues', # 颜色映射,可以根据需要更改
).generate(word_list)
# 使用形状图片的颜色
image_colors = ImageColorGenerator(shape_mask)
wordcloud.recolor(color_func=image_colors)
# 显示词云图
plt.figure(figsize=(10, 5))
plt.imshow(wordcloud, interpolation='bilinear')
plt.axis('off') # 隐藏坐标轴
plt.title('')
plt.show()