原创:金小贝 QQ交流:675229288
remap( )函数是REmap包核心函数之一,最常见是制作流向地图(迁徙地图)以及行程地图(轨迹图)。
?remap
remap(mapdata, title = “”,
subtitle = “”,
theme = get_theme(“Dark”))
参数说明:
参数一:mapdata为数据框格式的原始数据,包含初始点和终点两列
参数二:title为主标题
参数三:subtitle为副标题
参数四:theme为主题配色,默认为Dark,具体参数详见上篇基础函数get_theme()实例一:流向地图,代码如下:
remap(mapdata, title = “”,
subtitle = “”,
theme = get_theme(“Dark”))
参数说明:
参数一:mapdata为数据框格式的原始数据,包含初始点和终点两列
参数二:title为主标题
参数三:subtitle为副标题
参数四:theme为主题配色,默认为Dark,具体参数详见上篇基础函数get_theme()实例一:流向地图,代码如下:
destination<- c(‘shanghai’,’guangzhou’,’wulumuqi’,’dalian’,’xian’,
‘chengde’,’changchun’,’baotou’,’chongqing’,’zhengzhou’) #终点
origin<- rep(‘beijing’,length(destination)) #起点
map_data<- data.frame(origin,destination) #合成数据框格式的起终点数据
map_out<- remap(mapdata = map_data, #详细设计流向地图
title = ‘remap()绘制流向地图’,
subtitle = ‘theme设置为Bright’,
theme = get_theme(theme = ‘Bright’,
lineColor =’blue’,
backgroundColor =’white’ ,
titleColor =’blue’,
borderColor = ‘green’,
regionColor = ‘pink’)
)
plot(map_out) #在web上展示图形
结果截图如下(原图为浏览器打开的动态图,鼠标划过有交互效果):
发现get_theme( )函数的其他颜色设置没有生效,如之前基础函数部分介绍的,theme参数设置为Dark、Bright、Sky则其他参数失效,如果想自行配置颜色,需要设置为none,再设置其他参数。
theme = get_theme(theme = ‘none’,
lineColor =’blue’,
backgroundColor =’white’ ,
titleColor =’blue’,
borderColor = ‘green’,
regionColor = ‘pink’)
结果截图如下:
实例二:行程地图,代码如下:
origin<- c(‘beijing’,’kunming’,’guangzhou’,’sanya’,’haikou’,’changsha’,’shanghai’) #起点
destination<- c(origin[-1],origin[1]) #终点
map_data1<- data.frame(origin,destination) #合成数据框格式的起终点数据
map_out1<- remap(mapdata = map_data1, #详细设计行程地图
title = ‘remap()绘制行程地图’,
subtitle = ‘theme设置为Dark’,
theme = get_theme(theme = ‘Dark’)
)
plot(map_out1) #在web上展示图形
结果截图如下:
解读:remap( )函数的数据源很简单,包括起点和终点两列的dataframe格式,起终点都为城市名称,理论上城市名称直接中文汉字应该也可以,但在实际操作中发现直接输入中文城市无法识别,只能用拼音拼写城市名称,而如果由外部文件导入的数据中包含中文汉字则可正常使用(如帮助文件里的demo)。
get_theme( )如果选择了默认的三个主题配色,则其他单项配色均无效,如果想自行配色,需要设置为none。但无论哪种设置,副标题(subtitle)颜色都不改变。
准备数据的小技巧,流向地图先生成终点,在用rep()+length()循环出起点;行程地图则先生成按顺序的起点,再把起点第一位放到最后一位赋值给终点,从而完成数据准备。补充一点:生成的web动态图不会保存,想要保存动态图需要如下代码设置:
setwd(‘D:/R/Rscript’) #保存图片的位置,不做修改默认为R的工作路径,通过getwd()可获得
options(remap.js.web=T) #动态网页图保存命令
查看更多核心函数及操作实例见下篇“ 数据帮:地图可视化REmap包-remapB函数及实例”。