热线电话:13121318867

登录
2018-10-30 阅读量: 874
power!用R做动态词云图

Echarts是由百度开发的一款免费、强大的图表生成和可视化库,使其可以方便地对数据进行展示、交互和定制。

Recharts是基于Echarts开发的R版本,由Yang Zhou和Taiyun Wei开发,通过该包的echartR函数可以完成很多可视化的任务,图表美观且有动态效果,是一款优秀的数据可视化产品。以下是Recharts绘图的知识地图(基本图形):

思维导图.png

百闻不如一见,今天我们使用一则案例来演示使用echartR进行绘图的流程。

一、举例Showcase

“世界很复杂,百度更懂你”。百度搜索风云榜以数亿网民的单日搜索行为作为数据基础,以关键词为统计对象建立权威全面的各类关键词排行榜,盘点中国最新最热的人、事、物信息,为最具代表性的“网络风向标”。

百度热词榜.png

我们想通过从百度热词榜获取热词并通过词云的形式实时展现网名关注的人、事、物。

二、前置准备

1.本机测试环境:R最新版 R3.4.4

2.Recharts安装与加载方法

1.png

三、echartr词云WordCloud语法介绍

2.png

四、正式绘图

1.数据准备

从百度热词榜获取热词,并解析为数据框,包含热词和频数。为此构建一个函数getBaiduHot,解析_百度热词趋势_ 网页。

3.png

预览一下数据集前十位:

5.png

3. 基本图形绘制

只要提供x和y

4.png

制图结果如下:

6.png

上图根据关键词和词频绘制了Top30的百度热词,抓取的时间是2018-3-18 12:44:08。可以看出网友比较关注的话题有娱乐话题、政治话题、生活话题、体育话题等。如“姚笛被成功求婚”、”iPhoneX撒一地”、”中超一方最差开局”等等。

4. 按数据系列着色

我们希望将热词分组。定义一个series变量’Trend’。’rise’系列和’fall’系列用不同的颜色标注。

7.png

绘制结果如下:

8.png

5. 带时间轴With Timeline

比较实时热点、今日热点和七日热词趋势。

首先,获取今日热点和七日热点两个榜单的网页并转为数据框,合并。

9.png

然后作图:

10.png

效果如下:

11.png

备注:此图为动态图片,可以通过拖动X轴动态展示实时热点、今日热点和七日热词趋势。

6. 设置主题setTheme

12.png

设定主题背景和调色板颜色。效果如下:

13.png

熟悉此案例之后,你可以通过R来抓取公开网页的词语(需要注意合法性的问题)并进行动态词云展示。EchartR的语法并不复杂,通过简单的几行命令即可实现强大的自定义可视化图表制作。

这个正式R最吸引人的地方,它可以用几行简单的代码生成图表和图以及完成强大的任务功能。同时作为开源工具,目前尚无行业应用限制,方便的拓展性,不仅可以同Python,Java,C,C++等语言进行互调,其他统计软件也大部分均可调用R,如SAS,SPSS statistic等。

0.0000
1
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子