REmap包:用R绘制迁徙图
来源:互联网 发布:淘宝天猫投诉电话人工 编辑:程序博客网 时间:2024/05/22 13:36
REmap是一个基于Echarts 的一个R包.主要的目的是为广大数据玩家提供一个简便的,可交互的地图数据可视化工具.目前托管在github, https://github.com/lchiffon/REmap
使用如下步骤安装:
library(devtools)install_github('lchiffon/REmap')
目前V0.1提供的功能为百度迁徙的实现
提示:请使用Chrome或者Firefox来作为默认浏览器
最后要声明的一点:这个包并没有封装太多的参数,目的是简化使用和学习的流程,如果你想更深一步的修改这个可视化工具,请深入的学习Echarts!
Feature
- 使用Echarts封包,地图绘制使用的是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.21562
get_geo_position (city_vec)
lon lat city1 116.6212 40.06107 北京2 121.4786 31.21562 Shanghai3 113.3094 23.39237 广州
绘制迁徙地图
绘制地图使用的是主函数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 1remap(dat,title = "REmap实例数据",subtitle = "theme:Dark")## Method 2 out = remap(dat,title = "REmap实例数据",subtitle = "theme:Dark")out## Method 3plot(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)”),可以在这里找到颜色对照表.
- 默认模板: 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 Colorout = remap(dat,title = "REmap实例数据",subtitle = "theme:Bright", theme = get_theme("None", lineColor = "orange", backgroundColor = "#FFC1C1", titleColor = "#1b1b1b", regionColor = '#ADD8E6'))plot(out)
总结
基本上功能就到此为止,未来可能还会增加更多的功能和参数,可以查看我的这篇博文来查看动态地图,炫光地铁线路,带缩放功能的REmap作品,之后我会尽量挑选较好的功能打包到REmap中.
- REmap包:用R绘制迁徙图
- 利用REmap绘制百度迁徙图
- 可视化篇:R语言REmap+Echart做迁徙,通勤图
- R学习:用REmap生成我们自己的迁徙地图
- 用R语言绘制动态地图,代码奉上!(REmap包详解)
- R语言:再谈REmap包
- remapB绘制迁徙图
- R语言:使用REmap绘制超炫酷的地图
- 可视化篇:R可视化--迁徙/通勤图
- REmap绘制地图
- R语言 baidumap和REmap包使用学习(一)——baidumap包
- R实战:【股票分析】用quantmod包绘制K线
- 用R绘制交互式3D图
- 用VISIO2013绘制E-R图
- R绘制Nomogram图
- R绘制热图
- 用R绘制网格
- R学习:REmap生成百度热力地图
- 拉格朗日乘子法和KKT条件
- echarts 隐藏x轴 y轴 网格线
- 基于kubernetes1.6.0+Zeppelin0.7.1 实战
- 优先队列贪心
- java csrf过滤filter
- REmap包:用R绘制迁徙图
- javascript 二种数组复制方法
- (JAVA) 中间数
- Redux 介绍
- jdk7新特性
- 深入理解RunLoop
- ztree实现用友NC631中树的模糊查询及NC631的bug描述
- 扫描线+线段树求矩形面积的并
- 前端面试中常见的算法问题