简介
词云是一种数据呈现方式
不会的时候,感觉很厉害、很高大上
会用了之后,感觉到哪都看到别人在用
掌握用实现词云的方法
准备
安装包
准备一些文本,英文或中文皆可
一个简单的例子
可选的参数
:可用于指定字体路径,包括和
:词云的宽度,默认为400
:词云的高度,默认为200
:蒙版,可用于定制词云的形状
:最小字号,默认为4
:最大字号,默认为词云的高度
:词的最大数量,默认为200
:将被忽略的停用词,如果不指定则使用默认的停用词词库
:背景颜色,默认为
:默认为模式,如果为模式且设为,则背景将透明
由于英文单词之间有空格分隔,因此大多不需要额外的处理
中文词云
中文一般需要经过分词处理,先看下不分词的效果
以《西游记》为例,可以看到结果中会出现各种双字、三字和四字等,但很多并不是合理的词语
这次我们先用进行中文分词,可以看到生成的词云里,基本上都是合理的词语了
使用蒙版
这里将翻译为蒙版,是因为感觉它和Photoshop中蒙版的作用很类似
使用蒙版之后,可以根据提供的蒙版图片,生成指定形状的词云
颜色
词云的颜色可以从蒙版中抽取,使用即可
当然也可以设置为纯色,增加一个配色函数即可
关于HSL配色方案可以参考
https://www.w3.org/wiki/CSS3/Color/HSL
精细控制
如果希望精细地控制词云中出现的词,以及每个词的大小,可以尝试,包括两个参数
:一个字典,用于指定词和对应的大小
:最大字号,默认为
= +
以下用jieba提取出关键词和权重,再以此绘制词云
参考
WordCloud官方首页:http://amueller.github.io/word_cloud/index.html
WordCloud官方示例:http://amueller.github.io/word_cloud/auto_examples/index.html
jieba中文分词:https://github.com/fxsjy/jieba
视频讲解课程
https://study.163.com/course/courseMain.htm?courseId=1004777011
如果觉得有趣,那就关注我的微信公众号吧
不定期分享个人项目经验和技术学习笔记
我的个人网站:zhanghonglun.cn
领取专属 10元无门槛券
私享最新 技术干货