1. 首页
  2. 自学中心
  3. 软件
  4. R

数据帮:地图可视化REmap包-基础函数介绍

 

原创:金小贝  QQ交流:675229288

       地图可视化、热力地图、行为轨迹在以LBS为基础的o2o行业很热门,友好方便的交互地图则备受青睐,REmap包是地图可视化工具之一,函数参数设置简单明了,是R与Echarts的对接,使用户可以在R中直接调用Echarts的api接口作图,展现出各种美图。此包由国人开发,地图基于百度地图,所以使用起来相对很方便。同时也存在一些不足,比如有时数据输入时中文汉字地名识别不了,帮助文档里有个别错误,解释与主题不符合等。但瑕不掩瑜,REmap包还是比较推荐的地图可视化工具,希望开发者继续完善。

本文介绍REmap包的安装和基础函数介绍,为以后核心函数的实例操作做准备,基础函数包括mapNames( )、REmapCityGeo、get_city_coord( )、get_geo_position( )、get_theme( )、markLineControl( )、markPointControl( )。在后续文章中会逐个介绍核心函数,包括remap( )、remapB( )、remapC( )、remapH( )。

一、安装
REmap包托管在https://github.com上,可直接在github上加载。启动R,执行以下命令:

install.packages(‘devtools’)
devtools::install_github(‘lchiffon/REmap’)    #开发者/包名

library(REmap)    #加载

二、基础函数介绍
1、mapNames( ):可提供国家、省份、城市列表

mapNames(‘world’)   #世界国家名称,china可用
mapNames(‘china’)   #中国省份列表
mapNames(‘黑龙江’)   #黑龙江省各个地市
mapNames(‘beijing’)   #北京各个区县
解读:帮助文档中注明mapNames是remapC函数所需要的 

2、REmapCityGeo:给出122个城市列表及经纬度
head(REmapCityGeo)

         lon       lat   city
1 126.542417 45.807782 哈尔滨
2 117.497839  30.67098   池州
3 120.389445 36.072358   青岛
4 109.518646 18.258217   三亚
5 104.071216 30.576279   成都
6 118.095915 24.485821   厦门

3、get_city_coord( ):返回某个省份或者城市的经纬度

get_city_coord(‘台北’)     #单个城市经纬度查询,支持中文汉字及拼音
get_city_coord(‘chenGde’)     #字母大小写不敏感

解读:支持中文汉字及拼音,且字母不区分大小写。使用拼音需要注意有时候需要加“市”,比如get_city_coord(‘大同’)没问题, get_city_coord(‘datong’)结果却为NA,需要改为get_city_coord(‘datongshi’)

4、get_geo_position( ):返回一批城市的经纬度数据

city_list <- c(‘北京’,’beijing’,’Beijing’,’BeiJing’,’安阳’,’anyangshi’)
get_geo_position(city_list)
lon       lat      city
1  116.413554 39.911013   beijing
2  116.413554 39.911013   Beijing
3  116.413554 39.911013   BeiJing
4    114.3996 36.103649      安阳
5    114.3996 36.103649 anyangshi
12 116.413554 39.911013      北京
解读:以上再次验证了对字母的不敏感,以及支持两种输入,同时注意结果的排序与初始城市顺序不一致,结果是按照一定编码规则排序。5、get_theme( ):设置主题整体颜色,包括各种细节配色,可直接被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为总体配色,默认选项有“Dark”、“Bright”、“Sky”、“none”
参数二:lineColor为线条颜色,默认是随机, 也可自行设置,如’red’
参数三:backgroundColor为地图外背景颜色
参数四:titleColor为标题颜色
参数五:borderColor为地图中地域边缘颜色,不同省份、城市的边缘
参数六:regionColor为地域颜色,即地图显示的颜色
参数七:labelShow为逻辑参数,是否显示地域名称,默认为T,即显示,只用于remapC函数
参数八:pointShow为逻辑参数,是否显示地域所在点,默认为F,不显示,只用于remapC函数
参数九:pointColor为pointShow中点的颜色,只用于remapC函数
解读:get_theme( )函数为REmap包中最重要的配置函数,负责整体配色风格的把控。默认theme参数为‘Dark’,也可以选择‘Bright’、‘Sky’改变总体配色,如果使用此三个,则get_theme其他参数则无需设置了。如果需要自己配色,需要将theme设置为‘none’。
get_theme( )配色支持各种格式,如直接颜色名gold、red、blue等,也可以RGB格式#1b1b1b、#FFFFFF、#2E8B57,也可以是rgba(100,149,237,1)格式。RGB颜色查询对照表www.114la.com/other/rgb.htm
需要了解的是有三个参数labelShow、pointShow、pointColor并非通用参数,在remapC函数中可用。

6、markLineControl( ):remapB和remapC中线条的主题设置,可直接传递给markLineTheme参数
?markLineControl
markLineControl(symbol = c(‘none’, ‘arrow’),
                            symbolSize = c(2,4),
                            smooth = T,
                            smoothness = 0.2,
                            effect = T,
                            lineWidth = 1,
                            lineType = ‘solid’,
                            color = “Random”)

参数说明:
参数一:symbol为标记样式,具体指线条两端的标记的形状,两个值分别为起点和终点,经过实际使用symbol参数不可修改
参数二:symbolSize为线条两端标记大小,对应symbol参数的两个值,实际上第一个值没用,因为开始标记为none
参数三:smooth为逻辑参数,设置线条是否平滑
参数四:smoothness为平滑度,smooth参数设置为T时有效,体现线条的弧度,减小到0时为直线
参数五:effect为逻辑参数,是否显示动态效果
参数六:lineWidth为线条粗细
参数七:lineType为线条类型,可选有solid(实线)、dotted(点线)、dashed(虚线)
参数八:color为线条颜色
解读:effect参数在线条太多时,动态效果会失效,这时建议设置为FALSE。在remapB( )函数中通过另外一个参数markLineData也可以设置线条颜色,优先级高于color参数。

7、markPointControl( ):remapB和remapC中点的主题设置,可直接传递给markPointTheme参数

?markPointControl
markPointControl( symbol = ’emptyCircle’,
                              symbolSize = “Random”,
                              effect = T,
                              effectType = ‘scale’,
                              color = “Random”)

参数说明:
参数一:symbol为点样式,可选项none、circle、rectangle、triangle、diamond、emptyCirle、emptyRectangle、emptyTriangle、emptyDiamond、heart、droplet、pin、arrow、star
参数二:symbolSize为点大小
参数三:effect为逻辑参数,是否显示动态效果
参数四:effectType为动态效果样式,可选scale(放大)和bounce(跳动)
参数五:color为点颜色
解读:effect参数在点太多时,动态效果会失效,这时建议设置为FALSE。在remapB( )函数中通过另外一个参数markPointData也可以设置点颜色,优先级高于color参数。

基础函数是实现核心函数调用的基础,核心函数介绍及实例敬请期待下一篇“数据帮:地图可视化REmap包-remap函数及实例

原创文章,作者:金小贝,如若转载,请注明出处:http://www.17bigdata.com/%e6%95%b0%e6%8d%ae%e5%b8%ae%ef%bc%9a%e5%9c%b0%e5%9b%be%e5%8f%af%e8%a7%86%e5%8c%96remap%e5%8c%85-%e5%9f%ba%e7%a1%80%e5%87%bd%e6%95%b0%e4%bb%8b%e7%bb%8d/

联系我们

在线咨询:点击这里给我发消息

邮件:23683716@qq.com

跳至工具栏