博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
深圳人口返乡模拟图
阅读量:6091 次
发布时间:2019-06-20

本文共 2529 字,大约阅读时间需要 8 分钟。

hot3.png

#导入数据

#处理标记线的数据

#标记点的数据

#使用remapC()绘制

#效果图

 

绘制以深圳为地点,到各个省为终点的动态迁徙图,各函数介绍可以参考本博客的 REmap包介绍及使用,均有详细介绍,这篇为实际应用

数据在附件

  • 导入数据
> 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    V21 湖南 115802 广西 112073 湖北  92354 贵州  96895 河南  93786 江西 12484> names(MigrateData) <- c('province','values') #命名列

 

  • 处理标记线的数据

MarkLie_Data表示要传入绘制标记线(此项目就是迁徙路径线)的数据

包含三列,第一列 origin:起点,我们设置为深圳,第二列 destination 终点,第三列指定线条颜色color(因为在markLineControl里设置线条颜色容易出错)

> 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 color1   深圳        湖南  #fff2   深圳        广西  #fff3   深圳        湖北  #fff4   深圳        贵州  #fff5   深圳        河南  #fff6   深圳        江西  #fff

 

  • 标记点的数据

标记点的设置(此项目就是迁徙的终点),注意,因为是以深圳为起点,所以我们做下处理,这样能突出深圳的位置

> markPoint_data <- markLine_data[markLine_data!=""] > markPoint_data1 <- markPoint_data[which(markPoint_data!="深圳"&markPoint_data!="#fff")]      #作图时除去深圳这个点及对应的#fff字符串

 

  • 使用remapC()绘制

该函数主要用于绘制分块区域热力,如在地图上显示不同省份热力效果

> 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 类型+        )+        +        + )
  • 效果图

07143044_gzSe.gif

 

  •  

转载于:https://my.oschina.net/u/1785519/blog/1563795

你可能感兴趣的文章
弹出菜单
查看>>
高德地图多marker聚合API
查看>>
IPv4 向 IPv6 过渡安全问题不可小觑
查看>>
Linux运维实战之Apache服务器的高级配置(虚拟主机、status)
查看>>
DHCP overview
查看>>
我的友情链接
查看>>
linux 系统无法启动的基本解决方法
查看>>
阿里云产品
查看>>
ESXi磁盘块大小设立
查看>>
Java 初始化与清理
查看>>
C#计算数组的算术平均数、几何平均数、调和平均数、平方平均数和中位数
查看>>
JQuery Select控件操作汇总
查看>>
E媒体|APP必死?!——阿里百川项目总监承渊有话说
查看>>
Android 游戏之三人对战源码
查看>>
Lua与C++交互机制
查看>>
MDT2012制作模板机
查看>>
我的友情链接
查看>>
关于海量数据的数据模型
查看>>
缓存重要
查看>>
我的友情链接
查看>>