词云(wordcloud)作为一种可视化方法,通过形成“关键词云层”或“关键词渲染”,对文本中出现频率较高的“关键词”赋予视觉上的突出。词云图可以过滤掉大量不重要的文本信息,使浏览者只要一眼扫过文本便可知晓文本的主旨,现在已经广泛运用在企业、教育、文化等领域中。
第三方库的安装与简介
用Python制作词云图需要用到的第三方库有如下:
- jieba(分词)
- wordcloud(生成词云)
- matplotlib(图像处理)
- PIL(可选)
- numpy(可选)
安装方法:
pip install jieba / pip3 install jieba
pip install wordcloud / pip3 install wordcloud
示例一:制作简单词云
下面,我们开始编写一个程序用于生成《新冠病毒无症状感染者管理规范》的词云图。
首先,导入程序所需第三方库,如下:
![701e4709f30cc3df15946f247edc3510.png](https://i-blog.csdnimg.cn/blog_migrate/044d89cf2e4b083b0faa083916a75b74.jpeg)
导入第三方库
其次,根据功能划分主要有以下四部分:
(1) 读入制作词云的txt文本素材
![5e2e6c107b06d99bab5b7dba7fed77b6.png](https://i-blog.csdnimg.cn/blog_migrate/e0b5cbb3fdb0c2ef872a3abaeda2d58d.jpeg)
读入txt文本数据
(2) 对文本素材进行分词操作
![e2a1aeb94009f0848516e8aa60e8abcf.png](https://i-blog.csdnimg.cn/blog_migrate/00d9b3eda4fb3d9d34591d5858e015ca.jpeg)
分词操作
(3) 设置属性并生成词云
![ec3ad995f853573ddc531babc8622b9e.png](https://i-blog.csdnimg.cn/blog_migrate/85f2b778ef957e79980aaa2cb63842df.jpeg)
生成词云
(4) 显示词云图片
![04c2c642ba5a2e852f3d031fe76f0ea8.png](https://i-blog.csdnimg.cn/blog_migrate/977f66ffc2d61614c6119f5d65c2a50f.jpeg)
显示词云图
最后,运行程序将会得到如下结果:
![a30736c516ec9b93c0285b358c9e2e17.png](https://i-blog.csdnimg.cn/blog_migrate/8ecc67938aa1e04ff85ea25406510a3e.jpeg)
《新冠病毒无症状感染者管理规范》词云图
通过上述步骤,我们根据文本素材,制作出了简单的词云图。通过词云,能够直接看出该文本的主旨和出现频率较高的内容,清晰易见。
示例二:制作带背景图词云
除了能够制作简单形状的词云图之外,我们还可以通过自定义词云背景图,实现更多形状和色彩的词云图,下面以生成《关于做好高校毕业生就业创业工作的通知》词云图为例,详述如下。
首先,导入程序所需第三方库,如下:
![a384e446208aa51382af38e213bd5c42.png](https://i-blog.csdnimg.cn/blog_migrate/a66d3e5f403097278680828b6e1bfb51.jpeg)
导入第三方库
同样,根据功能划分主要有以下四部分:
(1) 读入txt文本素材以及背景图
![1d6e72ed64bfb41f6b2fcc369b458e97.png](https://i-blog.csdnimg.cn/blog_migrate/89183819630f9d3af105136163a4de02.jpeg)
读入文本、背景图
(2) 对文本素材进行分词操作
![bd59788fdc23fab114e0d8b7b6507632.png](https://i-blog.csdnimg.cn/blog_migrate/6985a18908d67704f5554049af4efda4.jpeg)
分词操作
(3) 设置属性并生成词云
![eb54ed57974fb2187014e906bde27d5c.png](https://i-blog.csdnimg.cn/blog_migrate/32f655b10a9752d913f0c693c84e6982.jpeg)
生成词云
(4) 显示词云图片
![6cd2a33d518341a73fa6a07d308c9832.png](https://i-blog.csdnimg.cn/blog_migrate/9c431b5e60a84074cb693fcd9a9c505b.jpeg)
显示词云图
通常,我们可以将上述四部分代码封装为一个功能函数(GetWordCloud),以提升整个程序代码的可读性和简洁性,如下所示:
![452a4f2758b60e405fe3b0eaecd0581b.png](https://i-blog.csdnimg.cn/blog_migrate/b086a24c99d55f3113716fed8388aa50.jpeg)
GetWordCloud( )函数
最后,直接调用此函数即可实现整个程序的功能,如下:
![73063597316d3bec5ce045e6be2c9390.png](https://i-blog.csdnimg.cn/blog_migrate/047fd08b7bd65566ceea864a48ef5b79.jpeg)
调用并运行程序
通过上述步骤,我们生成了一个与背景图形状和色彩一致的词云图,效果如下:
![e02fecdb7fb5050b8adfeac40d4223a2.png](https://i-blog.csdnimg.cn/blog_migrate/29660335b217a7964b64ad42ec12d883.jpeg)
词云图
![645915ebf0c5468e7af2c39d38022cf6.png](https://i-blog.csdnimg.cn/blog_migrate/4d5e69413783623e05e9988e4a1c8ddd.jpeg)
背景图
总结
本文,我们介绍了两种形式词云图制作的具体方法。掌握上述程序代码后,自己便可制作任意形状和色彩的词云图,例如一些自己比较喜欢的图片,都可以将其应用在词云上,生成属于自己的图片素材。
程序代码已全部贴出,如需要源文件,可联系免费获取。
欢迎大家关注交流,一起学习!