先看效果:
源码(《球状闪电》.txt 请自备或联系博主获取):
import jieba
import matplotlib.pyplot as plt
from wordcloud import WordCloud, ImageColorGenerator, STOPWORDS
import numpy as np
from PIL import Image
# 1.读取文件内容
with open('《球状闪电》.txt', 'r',
encoding='gbk', errors='ignore') as f:
content = f.read()
# 2.jieba分词
# ret = jieba.cut(content, cut_all=True)
ret = jieba.cut_for_search(content)
ret = ' '.join(ret)
# 3.制作词云
bg = np.array(Image.open('examples/alice_mask.png')) # 背景图片
wc = WordCloud(
background_color='white', # 图片背景
mask=bg, # 背景图片
max_words=200, # 最大分词数量
stopwords=STOPWORDS, # 停止的默认词语
font_path='SIMHEI.TTF', # 自定义中文字体路径
max_font_size=100, # 最大字体尺寸
random_state=50, # 随机角度 横竖
scale=2,
).generate(ret)
icg = ImageColorGenerator(bg) # 字体随机颜色从bg中截取
plt.imshow(wc)
plt.axis('off')
# plt.show()
plt.savefig('ret.png')