REmap入门示例
REmap是一个基于Echarts2.0 http://echarts.baidu.com/ 的一个R包,主要的目的是为广大数据玩家提供一个简便的,可交互的地图数据可视化工具,目前托管在github,https://github.com/lchiffon/REmap
使用如下步骤安装:
library(devtools)
install_github('lchiffon/REmap')REmap目前更新到V0.3,提供百度迁徙、分级统计、百度地图、热力图等功能的实现
提示:请使用Chrome或者Firefox来作为默认浏览器
最后要声明的一点:这个包的目的是简化使用和学习的流程,如果你是一个好学的geek,请深入的学习Echarts!
Feature
使用Echarts2.0封包,地图绘制使用的是SVG图形
采用百度API来自动获取城市的经纬度数据
支持Windows!
使用向导
获取经纬度
获取经纬度的函数是基于BaiduAPI的一个获取地理位置的功能,这个函数不仅是REmap下的一个功能,实际上,你也可以用它来抓取城市经纬度数据:
基本函数:
get_city_coord获取一个城市的经纬度get_geo_position获取一个城市向量的经纬度
library(REmap)
city_vec = c("北京","Shanghai","广州")
get_city_coord("Shanghai")[1] 121.47865 31.21562get_geo_position (city_vec) lon lat city
1 116.6212 40.06107 北京
2 121.4786 31.21562 Shanghai
3 113.3094 23.39237 广州注:windows用户会看到city一列为utf-8编码,可以使用get_geo_position (city_vec2)$city查看列向量的信息。(我能说我最好的建议是换Mac么?)
绘制迁徙地图
绘制地图使用的是主函数remap
remap(mapdata, title = "", subtitle = "",
theme =get_theme("Dark"))mapdata一个数据框对象,第一列为出发地点,第二列为到达地点title标题subtitle副标题theme控制生成地图的颜色,具体将会在get_theme部分说明set.seed(125) origin = rep("北京",10) destination = c('上海','广州','大连','南宁','南昌', '拉萨','长春','包头','重庆','常州') dat = data.frame(origin,destination) out = remap(dat,title = "REmap实例数据",subtitle = "theme:Dark") plot(out)
该地图会写成一个html文件,保存在电脑里面,并通过浏览器打开该文件。以下的方式都可以看到这个地图:
## Method 1 remap(dat,title = "REmap实例数据",subtitle = "theme:Dark") ## Method 2 out = remap(dat,title = "REmap实例数据",subtitle = "theme:Dark") out ## Method 3 plot(out)个性化地图
正如之前所说的,为了简化学习和使用的流程,REmap并没有封装太多的参数,(真的不是我懒)如果想更个性化地调整Echarts的参数,请移步Echarts的官方文档http://echarts.baidu.com/doc/doc.html
REmap中
get_theme提供了迁徙地图中常用颜色的调整:get_theme(theme = "Dark", lineColor = "Random", backgroundColor = "#1b1b1b", titleColor = "#fff", borderColor = "rgba(100,149,237,1)", regionColor = "#1b1b1b")theme默认主题,除了三个内置主题,可以使用“none”来自定义颜色a character object in (“Dark”,“Bright,”Sky“,”none“)
lineColor线条颜色,默认随机,也可以使用固定颜色Control the color of the line, “Random” for random color
backgroundColor背景颜色Control the color of the background
titleColor标题颜色Control the color of the title
borderColor边界颜色(省与省之间的信息)Control the color of the border
regionColor区域颜色Control the color of the region
颜色可以使用颜色名(比如’red’,’skyblue’等),RGB(“#1b1b1b”,“#fff”)或者一个rgba的形式(“rgba(100,100,100,1)”),可以在http://www.114la.com/other/rgb.htm找到颜色对照表。
默认模板:Bright
## default theme:"Bright" set.seed(125) out = remap(dat,title = "REmap实例数据",subtitle = "theme:Bright", theme = get_theme("Bright")) plot(out)
更改线条颜色
## set Line color as 'orange' set.seed(125) out = remap(dat,title = "REmap实例数据",subtitle = "theme:Bright", theme = get_theme("None", lineColor = "orange")) plot(out)
更改其他颜色
## Set Region Color out = remap(dat,title = "REmap实例数据",subtitle = "theme:Bright", theme = get_theme("None", lineColor = "orange", backgroundColor = "#FFC1C1", titleColor = "#1b1b1b", regionColor = '#ADD8E6')) plot(out)
参考资料
GitHub链接:https://github.com/lchiffon/REmap
我的博客:七风阁:http://lchiffon.github.io/
REmap,重新定义你的地图slides:http://lchiffon.github.io/REmap/REmapExamples/Nanchang/?theme=sky#/slide-1
统计之都:专业、人本、正直的中国统计学门户网站。
关注方式:扫描下图二维码。或查找公众帐号,搜索 统计之都 或 CapStat 即可。
往期推送:进入统计之都会话窗口,点击右上角小人图标,查看历史消息即可。
统计之都欢迎诸位看官积极投稿,投稿信箱contact@cos.name