import re # 正则表达式库 import collections # 词频统计库 import numpy as np # numpy数据处理库 import wordcloud # 词云展示库 from PIL import Image # 图像处理库 import matplotlib.pyplot as plt # 图像展示库
with open('E:\\Walden.txt') as f: lines = f.read() a1 = [a.lower() for a in re.split('\\W+',lines)[:-1]] a2 = set(a1) zidian = { zi:a1.count(zi) for zi in a2 } # 词频展示 mask = np.array(Image.open('E:\\LOVE.jpg')) # 定义词频背景 wc = wordcloud.WordCloud( font_path='C:/Windows/Fonts/simhei.ttf', # 设置字体格式 mask=mask, # 设置背景图 max_words=200, # 最多显示词数 max_font_size=100 # 字体最大值 )
wc.generate_from_frequencies(zidian) # 从字典生成词云 image_colors = wordcloud.ImageColorGenerator(mask) # 从背景图建立颜色方案 wc.recolor(color_func=image_colors) # 将词云颜色设置为背景图方案 plt.imshow(wc) # 显示词云 plt.axis('off') # 关闭坐标轴 plt.show() # 显示图像