
我们平时花大量时间去阅读各种各样的文章,有没有一种方式可以让你快速得知一篇文章的概要呢? 今天我们介绍一种极其炫酷的表现方式——词云。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。
当然,如果我只是拿普通的词云出来做文章就不太符合我的风格了,今天对词云稍加处理,做一个会变颜色的词云。下面看效果动图(这个动图gif文件就是程序直接生成):

原创不容易,请点击右上方关注按钮,多多支持~
所需要的库
pip install jiebapip install wordcloudpip install imageio
流程要点
- 对一篇文章进行分词。使用jieba库
- 把分词仍给词云库,生成词云。使用wordcloud库
- 重复生成10张图形一样,但每个单词的颜色亮度不一样的词云图片
- 把这些词云图片,直接生成一张gif动态图。使用imageio库
细节重点

- (行44)使用jieba库的cut方法进行分词
- (行45)然后把所有分词用空格串成一个字符串
- 这是为了让词云库识别,目前还不知道能否直接传入分词序列

- (行53和行58) 因为词云库默认使用英文字体,我们的内容有中文,必需指定一种中文字体。否则会显示乱码。
- (行64) 调用WordCloud的方法to_file即可生成一张词云图片。
- (行61) 这里是重点,我们要控制每个词的颜色,因此这里传入了一个自定义方法进行操作。所以想学的同学,有必要听一下这位老师的课、领取python福利奥,想学的同学可以到梦子老师的围鑫(同音):前排的是:762,中间一排是:459,后排的一组是:510 ,把以上三组字母按照顺序组合起来即可她会安排学习的。
看下图就是控制每个词的颜色的自定义方法

- 在词云库每生成一个词的时候,就会进入这个方法一次
- (行24-28) 逻辑是每个词首次进入时,则会设置饱和度为0,然后下一次就会把饱和度增加10,其他色度值保留。
- 这样就会产生出每张图片的图案一样,但每个词的颜色饱和度逐渐变大

- 这个方法使用imageio.mimsave方法,把上一步生成的多张图片合并成一张gif动态图
- (行76) 注意我们生成的图片的名字是(1.png,2.png,……10.png)。因此这里需要转成int然后排序,否则文件名的排序会出现类似(1.png,10.png,2.png)
小结
- 当需要解析一篇中文的内容时,使用jieba库进行分词。
- 当需要以炫酷形式表达文字内容的关键词时,使用wordcloud生成词云图
- 当需要生成动态图时,使用imageio库。
本文通过组合上述3个功能,即可做出一些有趣的事情,充分发挥你的想象力,你手中的Python就更有生命力。
你有想到其他更有趣想法吗?欢迎评论分享~~
你要不要也来试试,用 Python 测测你和女神的颜值差距(仅供娱乐,请勿联想) 如果真的遇到好的同事,那算你走运,加油,抓紧学到手。
python、爬虫技巧资源分享添加围鑫(同音):762459510
包含python, pythonweb、爬虫、数据分析等Python技巧,以及人工智能、大数据、数据挖掘、自动化办公等的学习方法。
打造从零基础到项目开发上手实战全方位解析!

8952

被折叠的 条评论
为什么被折叠?



