import jieba #将句子分词
# pip install jieba 终端输入下载
from matplotlib import pyplot as plt#绘图,数据可视化
from wordcloud import WordCloud #词云
from PIL import Image #图片处理
import numpy as np
from wordcloud import STOPWORDS,ImageColorGenerator #矩阵运算
f = open('Kobe.txt','r',encoding='utf-8')
text = f.read()
f.close()
# 分词
cut = jieba.cut(text)
string = ' '.join(cut)
print(string)
print(len(string))
img = Image.open('Kobe.jpg')
img_array = np.array(img)#将图片转换为数组
wc = WordCloud(
background_color='white',
mask = img_array,
font_path = 'STZHONGS.TTF' #字体所在位置C:\Windows\Fonts
)
wc.generate_from_text(string)
#绘制图像
fig = plt.figure(1)
plt.imshow(wc)
plt.axis('off')#是否显示坐标轴
plt.show()#显示生成的词云图片
# 输出词云图片到文件
plt.savefig('word.jpg')#dpj清晰度默认为400
color = np.array(Image.open('together.png'))
# stopwords = set(STOPWORDS)
# stopwords.add('said')
wc = WordCloud(background_color = 'white',max_words = 2000,mask = color,
font_path = 'STZHONGS.TTF',max_font_size = 40,random_state = 42 )
wc.generate(text)
image_colors =ImageColorGenerator(color)
fig,axes = plt.subplots(1,3)
axes[0].imshow(wc,interpolation = 'bilinear')
axes[1].imshow(wc.recolor(color_func=image_colors), interpolation="bilinear")
axes[2].imshow(color, cmap=plt.cm.gray, interpolation="bilinear")
for ax in axes:
ax.set_axis_off()
plt.show()
插件下载可以win+r 输入cmd 回车 pip install~
qq微信的聊天内容都可以进行下载txt文件
选取一张照片用ps将你不想变词云部分换上白色
jieba自动分词
下面是分词结果
词语出现频率越高词云中照片文字越大