按图片的颜色显示词语,词云会更形象生动。
仅修改了三处,生成的词云效果,档次提升一大截。
python3不支持的缘故,直接安装PIL可能报错,安装pillow用起来完全一样
pip install pillow
下面源码
#字体按图片颜色3.py
import jieba as jb
import wordcloud as wc
from PIL import Image
import numpy as np #1 imread常报错,用numpy和pil替换掉了。
mask=np.array(Image.open('模板名称.jpg'))
f = open('文本名称.txt','r',encoding='utf-8')
image_colors = wc.ImageColorGenerator(mask) #2 按图片颜色显示字体显色
#写出不要出现的词组
exclude={'我们','你们','他们','它们','因为','因而','所以','如果','那么',\
'如此','只是','但是','就是','这是','那是','而是','而且','虽然',\
'这些','有些','然后','已经','于是','一种','一个','一样','时候',\
'没有','什么','这样','这种','这里','不会','一些','这个','仍然','不是',\
'自己','知道','可以','看到','那儿','问题','一会儿','一点','现在','两个',\
'三个','说道','可是','地方','怎么','这儿','突然','可能','甚至','还是',\
'那些','还有','只有',\
}
t = f.read()
f.close()
ls = jb.lcut(t)
txt = ' '.join(ls)
w = wc.WordCloud(font_path = 'msyh.ttf',max_words=2000,\
min_font_size=1,max_font_size=30,mask=mask,width = 1000,\
height = 1000,background_color = 'white',stopwords=exclude,\
color_func=image_colors)#3 图片颜色加到参数里
w.generate(txt)
w.to_file('词云名称.png')
四大名著的根据修改后的词云效果