词云图也叫文字云,是对文本中出现频率较高的“关键词”予以视觉化的展现,词云图过滤掉大量的低频低质的文本信息,使得浏览者只要一眼扫过文本就可领略文本的主旨。制作词云图的网站有很多,而BI软件则有Tableau、PowerBI等等,但是制作出来的效果往往受限于这些工具的上限,因此要是读者自己能够掌握如何去制作词云图,则大有裨益。
下面通过一个示例来简单说明其中的制图过程
从上面的例子上我们也能够看得出来,其制图的过程相当的简单,输入的words变量,变量中的数据则是所谓的“关键词”以及“关键词”出现的词频,参数word_size_range表示字体的大小范围,而参数shape表示的是词云图的轮廓。
为了更好的来展示Pyecharts词云图的可视化效果,小编就从最近大火的焦虑贩卖剧《三十而已》的评论着手,看看观众看了该部剧之后到底做出了哪些评论,以及观众对该部剧的看法具体是什么样子的。
准备数据
分词处理
评论数据往往是一句或者是一段完整的话,所以在绘制词云图之前首先要进行分词处理,这里小编采用的分词库是jieba,而且添加了停用词库,目的是为了去除掉标点符号、副词等无意义词汇
词频统计
分完词之后,需要对词进行一个频数统计,这里用到collection模块中的Counter()方法
词云展示
最后一步,利用WordCloud()模块对整理好的数据进行展示
最后出来的词云图尽管略显简单,其中的参数"mask_image"表示的是词云图出来的样式图,而图中的是按照下图的样子来进行词云图的绘制的
当然读者也可以选择其他图案来选择词云图的背景图案,从网友的评论中可以看出其评论也是主要集中在“顾佳”的家庭矛盾,当然也有不少的网友对许幻山的演技抱有蛮高的评价,当然在pyecharts中词云图的制作其实和其他图片的制作流程都相差不大
步骤 | 描述 | 代码示例 |
---|---|---|
1 | 实例一个具体类型的对象 | c = WordCloud() |
2 | 往里面添加相关的文本数据 | c.add(data,word_gap=5) |
3 | 渲染图片 | c.render_notebook() |