随着大数据时代的来临,数据分析与可视化,显得越来越重要,今天给小伙伴们带来一种最常见的数据可视化图形-词云图的制作方法。

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!
QQ群:1097524789

“词云”这个概念由美国西北大学新闻学副教授、新媒体专业主任里奇·戈登(Rich Gordon)提出。“词云”就是对网络文本中出现频率较高的“关键词”予以视觉上的突出,形成“关键词云层”或“关键词渲染”,从而过滤掉大量的文本信息,使浏览网页者只要一眼扫过文本就可以领略文本的主旨

数据分析与可视化通常分为三个步骤,分别是获取数据(爬虫或采用现有文本),数据处理(清洗和整理)和数据可视化(图表制作)。

前两个步骤涉及更复杂的算法,今天咱们仅讨论数据可视化的步骤。

下面给大家介绍几个制作词云图的小例子。

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

01英文数据文本可视化

英文数据文本可以直接拿来进行生成词云图,这里是在网上获取了一篇国外名人的英文演讲稿。经过两行代码即可实现从源数据到词云图的转变。源数据截图如下:

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

直接将英文数据文本放在jupyter notebook软件目录下,并将文件名添加到file_path参数中,不需要任何处理(在anaconda软件下的jupyter notebook中执行,软件安装过程可自行百度,非常简单),一键式生成词云图。

from stylecloud import gen_stylecloud
gen_stylecloud(file_path='obama.txt')

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

02 中文数据文本可视化

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

______

LOVE

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

前一段时间,周杰伦的新歌《mojito》上线后,迎来了广大粉丝的狂热喜爱。很多听过这首歌的人都不禁感叹“爷青回”“青回爷”,也就是我的青春又回来了的意思。确实,我们这一代80后中的很多人都是伴随着周杰伦的歌曲长大的,如《夜曲》、《稻香》、《双截棍》、《晴天》、《听妈妈的话》、《霍元甲》、《不能说的秘密》、《青花瓷》等,都是我们耳熟能详的。

下面,我们利用Python编程语言来制作周董粉丝在B站上发送弹幕的词云图,看看大家在听《mojito》时,说得最多的是什么。

首先,我们需要先进入B站视频网页爬取弹幕数据,得到弹幕数据后要进行中文分词处理和去除无意义词(包括标点符号等)处理。

经过这两步以后,就可以依葫芦画瓢制作词云图。获得的弹幕数据文本截图如下:

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

将弹幕数据文件放到jupyter notebook软件的目录下,并将文件数据添加到text参数当中。其中的icon_name参数就是设置词云图的背景图,我们这里选择了企鹅,飞机和笑脸三个背景图。

通过以下短短几行代码我们就可以制作出下面绚丽的词云图,让我们来感受下其强大的魅力吧!

import stylecloud

stylecloud.gen_stylecloud(text=' '.join(text), collocations=False,

font_path=r'C:\Windows\Fonts\msy h.ttc',

#icon_name='fab fa-qq',#企鹅

# icon_name='fas fa-plane',#飞机

icon_name='fas fa-smile',#笑脸

size=400,

output_name='词云图.png')

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

从上面的词云图中,我们可以发现,“爷青回”“青回爷”是粉丝们听完这首歌最大的感受了!歌曲MV中粉红色的画风让大家一下子回到了青春稚嫩的少年时代!还有粉丝大呼“好听”、“过瘾”、“喜欢”、“听一亿遍”等,还有人表示会一直单曲循环!

在代码中,我们还可以更改配色参数(palette='tableau.BlueRed_6'),让词云图变换不同的颜色,增加美感。

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

03背景图变换

Python的Stylecloud库强大之处,在于可以很方便的替换词云图的背景图,只要改变代码中的icon_name参数就可以。

下面又分别选择了恐龙、小狗、鸽子、小猫作为背景图,一切都很简单~

数据来源是豆瓣电影排名top250的评论,文本源数据截图如下:

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

制作出来的各种形状的词云图如下图所示:

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

e分钟带你利用Python制作词云图-LMLPHPe分钟带你利用Python制作词云图-LMLPHP

由于篇幅有限,这里中文数据文本获取过程和数据处理过程就不作展示了,有兴趣的同学,可以看一下我的个人博客https://blog.csdn.net/littlespider889/article/details/107294775。

如果大家觉得通过软件生成词云图比较麻烦,那么还有更简单的办法,直接通过专门制作词云图的网站,可以上传数据,一键式生成词云图。网址例如,

http://www.picdata.cn/picdata/,

http://ictclas.nlpir.org/nlpir/,

http://www.yyyweb.com/demo/inner-show/word-itout.html。

使用方式非常简单,直接将你的文本内容粘贴到文本框区域内,再点击按钮生成。有兴趣的同学,可以上网搜索更多的教程资料!

05-20 12:55