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

时间:2022-05-08
本文章向大家介绍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)             #保存的同时自动调用浏览器窗口