# 微博内容分析——词云 def wordcloud(df): tomato_str = ' '.join(df['内容']) words_list = [] # 保存词汇的列表 # 分词 word_generator = jieba.cut_for_search(tomato_str) for word in word_generator: words_list.append(word) # 将拆分后的词汇添加至列表当中 words_list = [k for k in words_list if len(k) > 2] # 筛选词汇长度大于1的 # words_list.remove('视频') # words_list.remove('全文') # words_list.remove('微博') back_color = imageio.imread('./images/词云背景.jpg') # 读取图片 wc = WordCloud(background_color='white', # 背景颜色 max_words=200, # 最大词数 mask=back_color, # 以该参数值作图绘制词云,这个参数不为空时,width和height会被忽略 max_font_size=300, # 显示字体的最大值 font_path="./images/STFANGSO.ttf", # 字体 random_state=42, # 为每个词返回一个PIL颜色 width=1000, # 图片的宽 height=860 # 图片的长 ) tomato_count = collections.Counter(words_list) # 统计数量 wc.generate_from_frequencies(tomato_count) # 生成词云图 # wc.generate(words_list) # 保存词云图片 wc.to_file(('./images/微博内容词云.png')) print('完成!!')