作者:看那个码农
公众号:看那个码农
1.项目简介
我们在做PPT时候,当需要直观显示大量词汇时,往往会想到用词云图呈现
如果我们手中有一份资料,想要快速,直观地从资料中了解信息内容,
词云图是最佳的首选
下面我们看看按图片轮廓制作词云图的demo复盘
2.项目配置
- Python3.x
- jieba库
- numpy库
- PIL库
- wordcloud库
- matplotlib库
-
jieba库是用来提取文档中的关键词,对文本分词进行处理
-
numpy库是用来从图片中取色,将色彩赋给对应区域的文字
-
PIL库是用来导入Image函数,进行图像处理的一系列操作
-
wordcloud库是用来绘制词云图
-
matplotlib库是用来显示词云图
3.项目流程
1.导入相对应的Python库
import matplotlib.pyplot as plt
import jieba
import wordcloud
from wordcloud import ImageColorGenerator
import numpy as np
from PIL import Image
2.读取文本文件,进行文字的分词工作
text=open('look2.txt','r').read()
cut_text = jieba.cut(text)
word = ' '.join(cut_text)
3.读取图片,获取图片中对应区域的颜色
pic = np.array(Image.open('look.jpg'))
image_color = ImageColorGenerator(pic)
4.绘制词云图
wd = wordcloud.WordCloud(
#词云图的背景图形,如果根据图片设置,则需要设置
mask=pic,
#词云图的字体格式
font_path='simhei.ttf',
#词云图的背景颜色
background_color = 'white',
)
#生成词云
wd.generate(word)
#用图片中的颜色去渲染词云图中对应区域文字的颜色
plt.imshow(wd.recolor(color_func=image_color),interpolation='bilinear')
plt.axis('off')
plt.figure()
plt.imshow(pic,cmap=plt.cm.gray,interpolation='bilinear')
plt.axis('off')
plt.show()
5.词云图生成结果
4.项目总结思考
该项目是结合工作实际,利用Python开发的一个趣味demo,代码结构清晰简单,旨在帮助人们提升PPT的质量,让PPT汇报更加生动,吸引人。
当然本词云图demo还有很多有待完善的地方,如若图片背景复杂,人物轮廓不清晰,那么就会很影响词云图的生成质量,这种情况应该如何解决呢?
如果你觉得这篇内容对你有帮助的话:
1、点赞支持下吧,让更多的人也能看到这篇内容
2、关注公众号:看那个码农,我们一起学习一起进步。
本文正在参与「掘金 2021 春招闯关活动」, 点击查看 活动详情