1
#导入需要模块
import jieba
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
from wordcloud import WordCloud, STOPWORDS
2
#读取txt文件
text = open(r'D:\BaiduNetdiskDownload\三体3死神永生.txt','r',encoding='gbk').read()
print('加载txt文件成功')
3
#进行分词
wordlist_after_jieba = jieba.cut(text, cut_all=False)
wl_space_split = " ".join(wordlist_after_jieba)
print('分词成功')
4
# 读取照片通过numpy.array函数将照片等结构数据转化为np-array
mask=np.array(Image.open( r'D:\我的文档\图片\ wordcloud_mask.png'))
print('加载图片成功!')
5
#选择屏蔽词,不显示在词云里面
stopwords = set(STOPWORDS)
stopwords.add("此用户没有填写评价")
# stopwords.add("收到”)可以加多个屏蔽词
6
#创建词云对象并设置参数
需要注意的是使用mask参数后不能使用width, height参数,因为图片大小已经确定
wc = WordCloud(
#选择背景色
background_color="black",
max_words=1000,
mask=mask,
stopwords=stopwords,
max_font_size=40,
# 设置有多少种随机生成状态,即有多少种配色方案
random_state=30
7
#生成词云
wc.generate(text)
8
#存储并指定文件名称
wc.to_file( "三体3死神永生词云.png")
9
#通过matplotlib绘图库显示词云
plt.imshow(wc, interpolation='bilinear')
plt.axis("off")
10
#不显示坐标轴
plt.figure()
plt.imshow(mask, cmap=plt.cm.gray, interpolation='bilinear')
plt.axis("off")
plt.show()
print('生成词云成功!')