[Python]*词云图生成——默认和图片蒙版词云图

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()

运行后结果如下: 

[Python]*词云图生成——默认和图片蒙版词云图_第1张图片

 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格式都能做蒙版,目前手里就这张图能生成,原因暂不明)

 结果:用了白底勉强看得清楚些,文本是爱与和平和威廉布莱克节选(乱打的,可更换))

[Python]*词云图生成——默认和图片蒙版词云图_第2张图片

 原图及原图地址:https://hbimg.huabanimg.com/63b00308f3fbaf1e889323a002b0eada9c1669a2d4c0-6Jm9ms_fw658/format/webp

[Python]*词云图生成——默认和图片蒙版词云图_第3张图片

你可能感兴趣的:(Python,python,开发语言,后端)