在一些简单的数据分析场景中,制作词云图是一个非常基本的数据可视化操作。由于词云图的直观性,在很多业务场景中使用都很频繁,不管是做的人、用的人、看的人都不需要有太多的技术背景。制作简单、直观美观让词云图在很多业务场景中都能脱颖而出,尤其是汇报展示,词云图通常可以用最直观的视觉冲击起到事半功倍的效果。
常用包介绍
Python制作中文词云图最为常用的方法之一就是 wordcloud + jieba。
jieba
jieba库是Python的第三方库,是一个中文分词库,是Python中目前最受欢迎的中文分词工具,使用起来非常方便。
jieba分词库的基本原理:
- 利用中文词库,分析汉字与汉字之间的关联几率
- 分析汉字词组的关联几率
- 结合用户自定义的词组进行分词
jieba分词有三种模式:
- 精准模式:把文本精确切分开,不存在冗余单词
- 全模式:把文本中所有可能的词都扫描出来,会有冗余
- 搜索引擎模式:在精确模式的基础上,对长词再次切分
wordcloud
参考资料WordCloud for Python documentation
wordcloud模块有四个函数,在上面的参考资料中可以查看相关教程。基础操作用第一个函数基本就可以解决,后三个函数辅助修改词云图。
- WordCloud() 用于生成、绘制词云图的对象
- ImageColorGenerator() 基于色彩图像的颜色生成器
- random_color_func() 生成随机色调
- get_single_color_func() 用于返回单个色调和饱和度的颜色函数
案例
之前汇总过一篇如何爬取影视剧豆瓣评论的《网络爬虫之豆瓣评论》,本篇案例就以此为基础,将爬下来的评论生成词云图,来直观地看看大家对这个电影的评论如何。
代码
自定义了一个停用词库,还可以自定义留用词库,用来保护不想被拆分的词句,或者想在词云图中加上某些固定词句。
import jieba
from wordcloud import WordCloud