REmap做地图可视化

利用REmap包做地图可视化

地图可视化

R语言REmap包具有十分强大的地图可视化功能。可以十分方便地做空间热力图和空间迁徙图,使用十分方便,地图可视化也使得空间信息更加丰富直观。
本文将从2018年全国各省客运量入手,了解地图可视化
<本文是学习《R语言统计分析与机器学习》后的学习笔记>

数据概况:
在这里插入图片描述
从搜集到的数据可看出,该数据给出了省份,客运量,经纬度等数据,可以十分方便地利用REmap包进行地图可视化。

  1. 导入需要的包 ,导入需要的包;
library(REmap)
library(readxl)
  1. 导入数据 创建新的data1,data2,以适应画不同种类的热力图
data<- read_excel("data.xlsx")
data1<-data.frame(data$省份,data$客运数量)
data2<-data.frame(data$经度,data$维度,data$客运数量)

运行结果
data1结构如下:
在这里插入图片描述
data2结构如下:
在这里插入图片描述
绘制空间填充图

result <- remapC(data1,
                 title = '2018年全国客运量热力图',
                 maptype = 'china',
                 color = 'red',
                 theme = get_theme('Sky'),
                 maxdata = 34000, 
                 mindata = 500)
print(result)

结果如下:
热力图
绘制空间辐射图

result <- remapH(data2,
                 maptype = 'china',
                 theme = get_theme('Blue'),
                 blurSize = 65,
                 color = 'red',
                 minAlpha = 40,
                 opacity = 2)
print(result)

参数的介绍:

>data为要传入的数据,数据为三列,第一列为lon(经度),第二列为lat(维度),第三列为prob(密度/概率)>maptype为要绘制的地图类型,可选有:”china”,”world”或中国各省份名字;
>theme为绘制的地图主题类型,可由get_theme函数传入;
>blurSize为热力效果的泛化范围,可调整热力点中心的扩散程度;
>color为热力的渐变颜色;
>minAlpha为热力点的展示阈值,对应data中的prob列,作图时各点密度会对比minAlpha,以凸显不同密度所展示的不同热力分布;
>opacity为透明度,调整热力图的透明度。

结果如下:
辐射图由图像即可得出我们想要的结果。
关于REmap中get_theme()的一点补充。

get_theme(theme = "Dark", 
          lineColor = "Random",
          backgroundColor = "#1b1b1b", 
          titleColor = "#fff",
          borderColor = "rgba(100,149,237,1)", 
          regionColor = "#1b1b1b",
          labelShow = T, 
          pointShow = F, 
          pointColor = "gold"
          )

其中对应参数意义如下:

theme为主题,设置该参数后无需设置get_theme里其他参数,可选有”Dark”、”Sky”、”blue”和”none”四种
lineColoe为线条颜色,对应为map图里面迁徙线条的颜色
backgroundColor为图片的背景色,支持16进制颜色输入,也支持rgb()函数和rgba()
titleColor为标题的颜色,设置同上
borderColor为地图中各省、市边界颜色
regionColor为地图中各区域颜色,各省份和市
labelShow为是否展示各省、市名字,设置为True时展示
pointShow为是否展示各省会城市所在点,设置为True时展示
pointColor设置上述点的颜色

拓展 REmap还可以画省内的地图。只需要修改maptype = 'china’为对应省份名称及相应的数据data即可。

利用REmap获取行政信息

  1. 可获取各市级经纬度信息:
> city<-mapNames("hubei")
> print(city)
 [1] "恩施土家族苗族自治州" "十堰市"               "宜昌市"              
 [4] "襄樊市"               "黄冈市"               "荆州市"              
 [7] "荆门市"               "咸宁市"               "随州市"              
[10] "孝感市"               "武汉市"               "黄石市"              
[13] "神农架林区"           "天门市"               "仙桃市"              
[16] "潜江市"               "鄂州市"    
  1. 还可以根据名称获取经纬度信息
> library("baidumap")
baidumap 0.2.2
Apply an application from here: http://lbsyun.baidu.com/apiconsole/key
Then register you key by running `options(baidumap.key = 'xxx')`
> city_list<-get_geo_position(city)
There were 18 warnings (use warnings() to see them)
> print(city_list)
[1] lon  lat  city
<0 rows> (or 0-length row.names)

REmap做人口迁徙图也十分便捷。下图即为武汉一天人口迁出图。
在这里插入图片描述

  • 2
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值