parent
b0d0b3087d
commit
4fcaf51360
@ -0,0 +1,48 @@
|
||||
from wordcloud import WordCloud, STOPWORDS
|
||||
import matplotlib.pyplot as plt
|
||||
|
||||
# 读取弹幕文件
|
||||
with open("弹幕.txt", "r", encoding="utf-8") as file:
|
||||
all_danmaku = file.readlines()
|
||||
|
||||
# 去除空白字符,并合并成一个长字符串
|
||||
danmaku_text = ''.join(all_danmaku).replace('\n', '')
|
||||
|
||||
# 定义一个函数来生成和美化词云图
|
||||
def generate_wordcloud(text, font_path='msyh.ttc'):
|
||||
# 定义词云的配置参数
|
||||
config = {
|
||||
'font_path': font_path, # 字体路径
|
||||
'width': 800, # 宽度
|
||||
'height': 600, # 高度
|
||||
'background_color': 'white', # 背景颜色
|
||||
'max_words': 200, # 最大显示的词数
|
||||
'max_font_size': 100, # 最大字体大小
|
||||
'min_font_size': 10, # 最小字体大小
|
||||
}
|
||||
|
||||
# 创建词云对象
|
||||
wordcloud = WordCloud(
|
||||
font_path=config['font_path'],
|
||||
width=config['width'],
|
||||
height=config['height'],
|
||||
background_color=config['background_color'],
|
||||
max_words=config['max_words'],
|
||||
max_font_size=config['max_font_size'],
|
||||
min_font_size=config['min_font_size'],
|
||||
stopwords=STOPWORDS.union({"随着", "但是", "一个"}), # 添加自定义停用词
|
||||
).generate(text)
|
||||
|
||||
# 显示词云图
|
||||
plt.figure(figsize=(10, 8))
|
||||
plt.imshow(wordcloud, interpolation="bilinear")
|
||||
plt.axis("off")
|
||||
plt.show()
|
||||
|
||||
# 保存词云图到文件,并指定新的文件名
|
||||
new_filename = "customized_danmaku_wordcloud.png"
|
||||
wordcloud.to_file(new_filename)
|
||||
print(f"词云图已保存为:{new_filename}")
|
||||
|
||||
# 调用函数生成词云图
|
||||
generate_wordcloud(danmaku_text, font_path='C:\\Windows\\Fonts\\msyh.ttc')
|
Loading…
Reference in new issue