#第一种普通词云图,下面第二种奖杯词云图,暂时注释掉了 import os import jieba from wordcloud import WordCloud import matplotlib.pyplot as plt directory = 'E:\前端\软件工程\弹幕收集按序' #合并所有文件内容 text = "" for filename in os.listdir(directory): if filename.endswith('.txt'): with open(os.path.join(directory, filename), 'r', encoding='utf-8') as file: text += file.read() words = jieba.cut(text) #停用词列表 stop_words = set([ "我", "你", "他", "她", "它", "是", "的", "了", "在", "吗", "啊", "吧", "也", "有", "这", "那", "从", "为", "上", "下", "和", "与", "就", "不", "中", "还", "要", "会", "能", "对", "着", "个", "把", "所以", "但", "也", "所以", "从", "如", "她", "他", "它", "还", "也", "吗", "啊", "哦", "?", "!",",","。" ]) #过滤停用词 filtered_words = [word for word in words if word.strip() and word not in stop_words] #词频统计 word_freq = {} for word in filtered_words: word_freq[word] = word_freq.get(word, 0) + 1 #生成词云 wordcloud = WordCloud(font_path='simsun.ttc', width=800, height=400, background_color='white').generate_from_frequencies(word_freq) # 显示词云 plt.figure(figsize=(10, 5)) plt.imshow(wordcloud, interpolation='bilinear') plt.axis("off") plt.show() #第二种奖杯词云图 # from wordcloud import WordCloud, STOPWORDS # import matplotlib.pyplot as plt # import numpy as np # import jieba.posseg as pseg # from collections import Counter # import PIL.Image as Image # from matplotlib import colors # import os # directory = 'E:\\前端\\软件工程\\弹幕收集按序' # #合并所有文件内容 # text = "" # for filename in os.listdir(directory): # if filename.endswith('.txt'): # with open(os.path.join(directory, filename), 'r', encoding='utf-8') as file: # text += file.read() # words = pseg.cut(text) # #按指定长度和词性提取词 # report_words = [] # for word, flag in words: # if (len(word) >= 2) and ('n' in flag): #提取的是名词 # report_words.append(word) # #统计高频词汇 # result = Counter(report_words).most_common(300) # #建立词汇字典 # content = dict(result) # #输出词频统计结果 # for i in range(50): # word,flag=result[i] # print("{0:<10}{1:>5}".format(word,flag)) # #设置停用词 # stopwords = set(STOPWORDS) # stopwords.update(["我", "你", "他", "她", "它", "是", "的", "了", "在", "吗", "啊", "吧", # "也", "有", "这", "那", "从", "为", "上", "下", "和", "与", "就", "不", # "中", "还", "要", "会", "能", "对", "着", "个", "把", "所以", "但", "也", # "所以", "从", "如", "她", "他", "它", "还", "也", "吗", "啊", "哦", "?", "!", ",", "。"]) # #设置png掩膜 # background = Image.open("E:\前端\奖杯4.png").convert('RGB') # mask = np.array(background) # font_path = r"C:\Windows\Fonts\STLITI.TTF" # max_font_size =100 # min_font_size =10 # #建立颜色数组,可随意更改显示颜色 # color_list = ['#FF274B'] # #调用颜色数组 # colormap = colors.ListedColormap(color_list) # #生成词云 # wordcloud = WordCloud(scale=4, #输出清晰度 # font_path=font_path, #输出路径 # colormap=colormap, #字体颜色 # width=1600, #输出图片宽度 # height=900, #输出图片高度 # background_color='white', #图片背景颜色 # stopwords=stopwords, #停用词 # mask=mask, #掩膜 # max_font_size=max_font_size, #最大字体大小 # min_font_size=min_font_size) #最小字体大小 # wordcloud.generate_from_frequencies(content) # #使用 matplotlib 显示词云 # plt.imshow(wordcloud, interpolation='bilinear') # plt.axis('off') # plt.show() # #保存词云图 # wordcloud.to_file("wordcloud.png")