查看原文
其他

R语言| 使用REmap绘制超炫酷的地图

2016-12-03 王亨 R语言中文社区

  REmap这个包是通过调用百度地图API的一个程序包,与Google的ggmap包相比,不用翻墙就可以使用。其函数主要有:remap(),remapB()、remapC()、remapH()四个。该程序包目前要github网站上,因此我们需要从github上面下载安装。


install.packages("devtools")#如果安装了就不需要这步 library(devtools) install_github('lchiffon/REmap')



1一. remap()


     这个函数可以创建一个remap()函数对象,然后再由plot()函数输出并在浏览器中打开。

     函数原型:

remap(mapdata, title = "", subtitle = "", theme = get_theme("Dark"))


参数

 含义

mapdata

数据集,每行数据表示从出发点到终点

title

标题

subtitle

副标题

theme

主题,背景颜色

set.seed(125) out = remap(demoC,title = "REmap",subtitle = "theme:Dark") plot(out)

结果如下:



2

  二. remapB()


       这个函数可以创建remapB()对象,通过调用百度地图API绘制出一个可以通过鼠标进行伸缩的地图。

       函数原型:

remapB(center = c(104.114129,37.550339),       zoom = 5,       color = "Bright",       title = "",       subtitle = "",       markLineData = NA,       markPointData = NA,       markLineTheme = markLineControl(),       markPointTheme = markPointControl(),       geoData = NA)

参数

含义

center

设置地图中心,可以通过get_city_coord获取

zoom

表示显示地理范围大小,数字越小,表示的范围越大

color

整体颜色

title

标题

subtitle

副标题

markLineData

标记线数据

markPointData

标记点数据

markLineTheme

标记线主题

geoData

markLine和markPoint格式的geoData类似于get geo position()

markLineTheme

标记点的主题

例子:

geoData  = get_geo_position(unique(demoC[demoC==demoC])) remapB(markLineData = demoC,geoData = geoData)



3

三.remapC()


        这个函数类似remap()函数,创建一个remap()函数对象,然后再由plot()函数输出并在浏览器中打开,只不过他俩对数据要求不一样,remapC()要求数据一列为地名,一列为数值。

      函数原型:

remapC(data,       maptype = 'china',      markLineData = NULL,      markPointData = NULL,      color = c('#1e90ff','#f0ffff'),      theme = get_theme("Bright"),      title = "",      subtitle = "",      markLineTheme = markLineControl(),      markPointTheme = markPointControl(),      geoData = NA,      mindata = NA,      maxdata = NA)


参数

含有

data

地名和地理信息值

maptype

地图类型,比如“China”,“world”以及省名。

markLineData

标记线数据

markPointData

标记点数据

color

颜色向量

theme

通过get_theme创建一个主题

title

标题

subtitle

副标题

markLineTheme

标记线主题

geoData

markLine和markPoint格式的geoData类似于get geo position()

markLineTheme

标记点的主题

例子:

data = data.frame(country = mapNames("world"),                   value = 5*sample(178)+200) out = remapC(data,maptype = "world",color = 'skyblue') plot(out)


我们可以通过head()函数来查看数据的格式:

head(data) country value 1          Afghanistan   675 2               Angola   935 3              Albania  1075 4 United Arab Emirates   735 5            Argentina   365 6              Armenia   295


4

四. remapH()

       remapH()函数是用来绘制热力图的。该函数是通过创建remapH对象,然后通过浏览器输出。

      函数原型:

remapH(data,      maptype = 'china',      theme = get_theme("Dark"),      blurSize = 30,      color = c('blue', 'cyan', 'lime', 'yellow', 'red'),      minAlpha = 0.05,      opacity = 1,      ...)

参数

含义

data

数据框数据包含经度,维度,密度

maptype

地图类型,比如“China”,“world”以及省名。

theme

通过get_theme创建一个主题,设置地图颜色

blurSize

设置点的模糊程度

color

颜色向量

minAlpha

如果统一值小于minAlpha,则rempaH将设置为minAlpha,以确保小数据值也可以在图表上可见。

opacity

地图的不透明度,默认为1


例子:



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

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