有哪些制作词云的工具?

有哪些制作词云的工具?

词云图是一种用来展现高频关键词的可视化表达,通过文字、色彩、图形的搭配,产生有冲击力地视觉效果,而且能够传达有价值的信息。

制作词云图的网站有很多,简单方便,适合小批量操作。

BI软件如Tableau、PowerBI也可以做,当然相比较web网站复杂一点。

在编程方面,JavaScript是制作词云图的第一选择,像D3、echarts都非常优秀。

python也有不少可视化库能制作词云图,这次我们尝试使用pyecharts。

先上效果图:

pyecharts是基于echarts的python库,能够绘制多种交互式图表。

这次使用的pyecharts版本是1.7.1,python版本是3.6。

pyecharts提供了多种个性化配置方案,可以按需选择。

和其他可视化库不一样,pyecharts支持链式调用。

也就是说添加图表元素、修改图表配置,只需要简单的调用组件即可。

下面来个示例:

生成词云图:

为了更好地展示pyecharts的词云可视化效果,我找了淘宝商品评论数据集,更贴近应用场景。

代码的流程主要是:数据加载、分词处理、词频统计、词云展示。

数据集共有10 个商品类别(书籍、平板、手机、水果、洗发水、热水器、蒙牛、衣服、计算机、酒店)。

共 6 万多条评论数据,正、负向评论各约 3 万条。

我们要用的就是字段review评论数据,代码分模块实现不同功能。

首先导入相关库:

接着加载数据,提取文本:

因为评论数据是一段段完整的话,所以要进行词云展示的话肯定得先分词。

这里用的分词库是jieba,而且添加了停用词库,目的是去除符号、副词等无意义词汇。

分完词后,需要对词进行频数统计,这里用到collection模块的Counter方法。

然后筛选出词频数排名前1000的词汇,你也可以自行调整。

最后一步使用wordcloud模块对整理好的数据进行可视化展示。

上面代码里的背景图可以自己选择,最好是大轮廓的图,因为细节展示不出来。

几个处理函数都写好了,下面来执行结果:

提醒一下,main函数的两个参数,分别是商品类型和评价类型,你可以自定义组合,然后就会生成该组合的词云图。

用购物车背景图展示手机+好评组合的词云图:

用淘宝背景图展示计算机+好评组合的背景图:

用浴缸背景图展示酒店+差评组合的背景图:

用书本背景图展示书籍+好评组合的背景图:

这里的展示仅仅为了教大家如何去使用pyecharts制作词云,真正的商业用途上需要更加清晰简洁的表达,在设计层面也要更多的考量。

Ps:六年大数据从业经验。有任何数据分析、Python编程、求职问题欢迎来提问哦!