#导入数据web
#处理标记线的数据函数
#标记点的数据code
#使用remapC()绘制图片
#效果图rem
绘制以深圳为地点,到各个省为终点的动态迁徙图,各函数介绍能够参考本博客的 REmap包介绍及使用,均有详细介绍,这篇为实际应用字符串
数据在附件get
> library(REmap) > options(remap.js.web = T) #将结果保存在工做目录下,避免R关掉后图片被删除,能够经过getwd()函数的获得工做目录,取出图片 #读取数据 > MigrateData <- read.csv('C:\\Users\\Xu\\Desktop\\MigrateDemo.csv',encoding='gb2312',header = F) > head(MigrateData) V1 V2 1 湖南 11580 2 广西 11207 3 湖北 9235 4 贵州 9689 5 河南 9378 6 江西 12484 > names(MigrateData) <- c('province','values') #命名列
MarkLie_Data表示要传入绘制标记线(此项目就是迁徙路径线)的数据博客
包含三列,第一列 origin:起点,咱们设置为深圳,第二列 destination 终点,第三列指定线条颜色color(由于在markLineControl里设置线条颜色容易出错)it
> markLine_data <- data.frame(origin = rep("深圳",nrow(MigrateData)), + destination = MigrateData[1:nrow(MigrateData),1],#MigrateData[c('province')] 或者MigrateData[,1] + + color = rep("#fff",nrow(MigrateData)) + ) > head(markLine_data) #看下前几个效果 origin destination color 1 深圳 湖南 #fff 2 深圳 广西 #fff 3 深圳 湖北 #fff 4 深圳 贵州 #fff 5 深圳 河南 #fff 6 深圳 江西 #fff
标记点的设置(此项目就是迁徙的终点),注意,由于是以深圳为起点,因此咱们作下处理,这样能突出深圳的位置io
> markPoint_data <- markLine_data[markLine_data!=""] > markPoint_data1 <- markPoint_data[which(markPoint_data!="深圳"&markPoint_data!="#fff")] #做图时除去深圳这个点及对应的#fff字符串
该函数主要用于绘制分块区域热力,如在地图上显示不一样省份热力效果
> remapC(MigrateData, + title = "深圳人口返乡模拟图", #标题设置 + subtitle ='2018年春节', #副标题 + + #主题进行设置 + theme = get_theme( + theme = 'Dark',#背景色 + lineColor = '#FFFFFF' ,#对应为map图里面迁徙线条的颜色 + titleColor = "#fff", + borderColor = "#999999", #边界颜色 + regionColor = "#000000", #区域颜色 + pointShow = F, #是否展现各省会,城市所在点,设置为True时展现 + pointColor = "gold" #设置上述点的颜色 + ), + color=c('#CD0000','#FFEC8B'), #颜色渐变方案,对应每一个地区不一样的value + + #迁徙路径的数据传进来 + markLineData = markLine_data, + #设置线的样式 + markLineTheme = markLineControl( + color = 'white', + lineWidth =2, + lineType = 'dashed', + effect = T #不写默认也为T,不过当线条过多时不会动效 + ), + + #标记点的数据传进来 + markPointData=markPoint_data1, + #设置点样式 + markPointTheme=markPointControl( #经过markPointControl来设置样式 + symbolSize=13, #样式大小 + effect=T, #effctt =T 表示开启动效 + effectType="scale", + color="white" #没有设置smybol 类型 + ) + + + )