R语言可视化——REmap(路径图)

今天紧接昨天的内容,跟大家分享如何使用REmap函数制作路径图。

路径图所需要的数据结构非常简单,两列数据,左侧是起点,右侧是终点,并且每一行的终点是下一行的起点,这样最终才可以制作出连接在一起的路径图。

首先我们来构造所需的数据:

起点数据:

origin<- c("beijing","shijiazhuang","zhengzhou","hefei","nanjing","济南","dalian") 

终点数据:

destination<- c(origin[-1],origin[1]) #将起点数据首尾互换,并构造终点数据

将终点数据、起点数据合并为数据框格式的作图数据:

map_data<- data.frame(origin,destination) 

绘图:

map_out1<- remap(mapdata=map_data,        

          title ="我是主标题",
          subtitle ="我是副标题",
          theme =get_theme(theme='Dark')
          )
plot(map_out1)  #在web上展示图形

上面的例子中,为了使得路径图首尾相连,终点数据是起点数据调换首尾行而得到的。

那么如果不要求路径图首尾相连的话可以设置如下结构:

map_data1<-map_data[-7,]
map_out2<- remap(mapdata=map_data1,        
          title ="我是主标题",
          subtitle ="我是副标题",
          theme =get_theme(theme='Dark')
          )
plot(map_out2)  #在web上展示图形

这种路径图的形式非常适合用于表达带有很多中间节点的动态路线。

当然如果你也可以将数据源设置成两条毫不相干的路线:

data1<-c("西安","zhengzhou","shijiazhuang","beijing","shenyang","changhcun","哈尔滨") 
data2<-c("nanyang","wuhan","changsha","南昌","guangzhou","南宁","贵阳")
origin<-c(data1[1:6],data2[1:6])
destination<-c(data1[2:7],data2[2:7])
map_data1<- data.frame(origin,destination) 
map_out3<- remap(mapdata=map_data1,        
          title ="我是主标题",
          subtitle ="我是副标题",
          theme =get_theme(theme='Dark')
          )
plot(map_out3)  

随机生成的线条和气泡颜色看着挺别扭,我们可以将其修改为自定义颜色:

map_out4<- remap(mapdata=map_data1,        
          title ="我是主标题",
          subtitle ="我是副标题",
          theme =get_theme(theme='none',
          lineColor = "white",    
          backgroundColor="black"      
          )
           )
plot(map_out4)  

你可以用这种方法,结合自己的数据来表达多个地域之间的流动方向:比如一打一路、长征、贸易路线、铁路路线图等都非常适合这种表达。

gif效果:

如果想要存储该HTML对象,需要设定临时目录:

setwd("D:/R/Rscript")      #保存图片的位置,不做修改默认为R的工作路径
options(remap.js.web=T)    #动态网页图保存命令
plot(map_out5)             #保存的同时自动调用浏览器窗口

原文发布于微信公众号 - 数据小魔方(datamofang)

原文发表时间:2016-10-16

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ATYUN订阅号

【实践操作】 在iOS11中使用Core ML 和TensorFlow对手势进行智能识别

在计算机科学中,手势识别是通过数学算法来识别人类手势的一个议题。用户可以使用简单的手势来控制或与设备交互,让计算机理解人类的行为。 这篇文章将带领你实现在你自己...

54560
来自专栏数据小魔方

标注特定日期的折线图

今天给大家分享的标注特定日期的折线图! ▽▼▽ 有时候我们拿到的数据存在特定日气的波动,比如股市、衍生品等指数会存在星期(周末)的波动,如果能够在图表中标注出特...

43270
来自专栏新智元

【干货】神经增强:用 Python 实现深度学习超分辨率处理

【新智元导读】神经网络基于样本图像的训练为模糊图像补充细节,从而把模糊图像变高清。它不能把你的照片重建成一模一样的高清版。这只有好莱坞大片才有可能做到——但使用...

71550
来自专栏数值分析与有限元编程

可视化 | Tecplot绘制散点图

Tecplot是功能强大的数据可视化工具,可以将计算中得到的大量数据形成直观图形。Tecplot的功能包括绘制XY曲线、轮廓图、云线、等值线、向量图、离散点等。...

1K50
来自专栏AI研习社

Github 项目推荐 | 用 JavaScript 实现的神经网络 —— brain.js

不过,一般的开发者应该都不会用神经网络来实现异或的功能吧,所以这里有一个更加实际的例子:训练一个神经网络来识别颜色对比 https://brain.js.org...

18220
来自专栏数据小魔方

不等宽柱形图

今天要跟大家分享的图表是不等宽柱形图! ▽▼▽ 基础等柱形图一般只能展示一个维度的数据,但是如果想要在柱形图中同时展示两个维度的数据(柱高一个维度、柱宽另一个维...

31750
来自专栏数据小魔方

excel数据转置——一维表与二维表之间的转化!

今天跟大家分享excel数据转置——一维表与二维表之间的转化! ▽ 我们在做数据搜集整理的时候 通常会遇到要将原始数据做转置处理 如下图案例所示 ? 这是一张典...

46350
来自专栏程序生活

斯坦福tensorflow教程(四) 贪婪执行Eager Execution

17150
来自专栏iOSDevLog

Core ML Tools初学者指南:如何将Caffe模型转换为Core ML格式

22730
来自专栏AI研习社

发掘 ARM GPU 的全部深度学习性能,TVM 优化带来高达 2 倍性能提升

本文是由来自上海交通大学 Apex 实验室的本科生 Lianmin Zheng 发表于 TVM 的一篇博客,文中阐述了如何使用 TVM 优化移动端上的 ARM...

1.3K100

扫码关注云+社区

领取腾讯云代金券