1.生成默认画布词云图 :
import wordcloud as wc #导入词云库
import jieba #jieba中文分词库
import matplotlib.pyplot as plt
#中英文进行分词处理
with open('list.txt',mode='r',encoding='utf-8') as fp: #读取文档(包含中文)
content=fp.read()
res=jieba.lcut(content)
#print(res) #测试:验证分词
text=' '.join(res) #生成文本
#print(text) #测试:输出文本
word_cloud=wc.WordCloud(font_path='simkai.ttf') #生成图参数导入字体-此处用使用默认和中文楷体
word_cloud.generate(text)
plt.imshow(word_cloud) #imageshow显示词云图
plt.show()
运行后结果如下:?
?2.蒙版词云图
import wordcloud as wc
import jieba
import matplotlib.pyplot as plt
from PIL import Image #python image图片操作库
import numpy as np #数组库
with open('list.txt',mode='r',encoding='utf-8') as fp: #读取文档(包含中文)
content=fp.read()
res=jieba.lcut(content)
text=' '.join(res)
mask=np.array(Image.open("love.png")) #图片蒙版,转换为数组
word_cloud=wc.WordCloud(font_path='simkai.ttf',background_color='white',mask=mask)
word_cloud.generate(text)
plt.imshow(word_cloud)
plt.show()
?(这玩意对图片格式要求奇高,之前还不知道哪错了,后来发现不是所有透明底png格式都能做蒙版,目前手里就这张图能生成,原因暂不明)
?结果:(用了白底勉强看得清楚些,文本是爱与和平和威廉布莱克节选(乱打的,可更换))
?原图及原图地址:https://hbimg.huabanimg.com/63b00308f3fbaf1e889323a002b0eada9c1669a2d4c0-6Jm9ms_fw658/format/webp
|