查看原文
其他

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

2016-10-16 小魔方 数据小魔方

今天紧接昨天的内容,跟大家分享如何使用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)             #保存的同时自动调用浏览器窗口


魔方学院QQ群:


QQ群:

微信群:


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存