2019独角兽企业重金招聘Python工程师标准>>>

#REmap包简介

#包安装

#remapH函数

#remapH案例

#get_theme函数

#remapC函数

#markLineControl函数

#markPointControl函数

#remapC案例

  • REmap包简介

REmap包是R与echart的对接,在R里调用echar的api直接作图,函数特征更加简单,绘图过程更加方便快捷,如果要个性化绘制可以修改REmap包源码, 需要有一定的javascript/css/html

remapH函数:该函数主要用于绘制热力效果图,如在地图上绘制不同密度的热力效果

remapC函数:该函数主要用于绘制分块区域热力,如在地图上不同省份热力效果

remapB函数:该函数主要基于百度地图背景,做迁徙,通勤效果图

markLineControl,markPointControl,get_theme这三个函数主要用于控制在map图上画线, 打点以及主题的各种样式,如颜色,效果,粗细等。

  • 包安装

a、https://cran.r-project.org/ 上下载对应系统及版本的R软件,下文环境为win64的R

b、此次用到的包为REmap,其挂靠在https://github.com/ 上,只需运行R,依次输入:

(1)Install.packages(“devtools”)

此时会谈出一个界面,选择china即可,下载完成后,再输入:

(2)Library(devtools)

(3)Install_github(“Lchiffon/REmap”),稍等片刻下载完成后,再输入:

(4)library(REmap)

配置完成

注意:1.如果安装devtools包过程提示没有digest包error,则再输入install.packages(“digest”),再重复上述3过程

  • remapH函数
remapH(data,maptype = 'china',theme = get_theme("Dark"),blurSize = 30,color = c('blue'),minAlpha = 0.05,opacity = 1,)

data:要传入的数据,数据为三列,第一列为经度lon,第二列为维度lat,第三列为密度/概率prob

maptype: 要绘制的地址类型,如中国地图maptype=‘china’,世界地图maptype=‘world’

theme: 主题,设置该参数后无需设置get_theme里其他参数,下文介绍

blurSize: 为热力效果的泛化范围,可调整热力点中心的扩散程度

color: 热力的渐变颜色

minAlpha:热力点的展示阈值,对应data中的prob列,作图时各点密度会对比minAlpha,以凸显不同密度所展示的不同热力分布

opacity:透明度,调整热力图的透明度

remapH案例

> library(REmap)
> options(remap.js.web=T)
> data<- read.csv(file="C:\\Users\\Xu\\Desktop\\cityvaluetop10.csv",header=T)
> theme1 <- get_theme(theme = "none",
+                     lineColor = "white",
+                     backgroundColor = "#CCCCCC",
+                     titleColor = "#fff",
+                     borderColor = "white",
+                     regionColor = "Silver",
+                     labelShow = T,
+                     pointShow = F,
+                     pointColor = "gold"
+ )> remapH(data,  #效果如下图
+        maptype = 'china',
+        theme = theme1,
+        blurSize = 70,
+        color = "red",
+        minAlpha = 10,
+        opacity = 1
+ )
Save img as: ID_20171104005314_62482.html

  • 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”四中,当设置get_theme其他参数时,需要将该参数设置为“none”

lineColoe:线条颜色,对应为map图里面迁徙线条的颜色

backgroundColor:图片的背景色,支持16进制颜色输入,也支持rgb()函数和rgba()

titleColor:标题的颜色,设置同上

borderColor:地图中各省、市边界颜色

regionColor:地图中各区域颜色,各省份和市

labelShow:否展示各省、市名字,设置为True时展示

pointShow:是否展示各省会,城市所在点,设置为True时展示

pointColor:设置上述点的颜色

  • remapC函数

该函数主要用于绘制分块区域热力,如在地图上显示不同省份热力效果

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

data: 表示要传入的数据,该数据有2列,第一列为city(各城市,省份名字),第二列为value(第一列城市对对应的数值)

maptype:要绘制的地址类型,如中国地图maptype=‘china’,世界地图maptype=‘world’

markLineData:要绘制的线条数据,该数据前两列为必须,第一列为origin(出发地),第二列为destination(目的地),此外建议在第三列指定线条颜色,因为在markLineControl里设置线条颜色容易出错

markPointData:要绘制的点的数据,该数据为一列,该列为要绘制点的名字,此外建议在第二列指定点的颜色,因为在markLineControl里设置点颜色容易出错

color:热力颜色的渐变,第一个为起始颜色,第二个为终止颜色

theme:主题,设置该参数后无需设置get_theme里其他参数,可选“Dark”,“Sky”,“blue”,“none”四中,当设置get_theme其他参数时,需要将该参数设置为“none”

title:标题

subtitle:副标题

markLineTheme:控制线条的样式参数,该参数由markLineControl函数传入(后文介绍)

markPointTheme:控制点的样式参数,该参数由markPointControl函数传入(后文介绍)

geoData:为上述点,线涉及到的城市,省份的经纬度,该数据为三列,第一列lon(经度),第二列lat(维度),第三列city(城市或省份名字)

mindata,maxdata:热力图的阈值,低于或高于该值将不会被展示出来

markLineControl函数

markLineControl(symbol = c('none', 'arrow'),symbolSize = c(2,4),smooth = T,smoothness = 0.2,effect = T,lineWidth = 1,lineType = 'solid',color = "Random")

symbol:控制要绘制线条两端形状,第一个为起点,第二个为终点,可选样式有:’pin’, ‘circle’,’rectangle’,’triangle’,’diamond’,’emptyCircle’,’emptyRectangle’,’ emptyTriangle’,’emptyDiamond’,’heart’,’droplet’,’arrow’,’tar’

symbleSize:控制上述参数形状大小,同样有两个值

smooth: 控制线条是否平滑,为T时,smoothness参数才有效

smoothness:控制线条的平滑度,为0时是直线

effect:控制线条是否呈现动态效果,为T时显示动态效果,需要注意的是当线条过多时effect参数无效,不会显示动效

linewidth:控制线条的粗细

lineType:控制线条的形状,可选样式有:’solid’, ‘dotted’,’dashed’

color:控制线条的颜色,不建议在此处设置颜色

    markPointControl函数

markPointControl(symbol = 'emptyCircle',symbolSize = "Random",effect = T,effectType = 'scale',color = "Random")

symbol:控制点的形状,可选样式有:’pin‘,’circle’,’rectangle’,’triangle’,’diamond’,’emptyCircle’, ’emptyRectangle’,’emptyTriangle’,’emptyDiamond’,’heart’,’droplet’,’arrow’,’tar’

symbolSize:控制上述参数形状大小

effect:控制点是否呈现动态效果,为T时显示动态效果,需要注意的是当点数目过多时effect参数无效,不会显示动效

effectType:控制点的动效呈现形式,可选样式有:’scale’ ,’bounce’

color:控制点的颜色,不建议在此处设置颜色

remapC案例

> library(REmap)
> options(remap.js.web=T)
> data<- read.csv(file="C:\\Users\\Xu\\Desktop\\cityvaluetop10.csv",header=T)
> theme1 <- get_theme(theme = "none",
+                     lineColor = "white",
+                     backgroundColor = "#CCCCCC",
+                     titleColor = "#fff",
+                     borderColor = "white",
+                     regionColor = "Silver",
+                     labelShow = T,
+                     pointShow = F,
+                     pointColor = "gold"
+ )
> remapH(data,
+        maptype = 'china',
+        theme = theme1,
+        blurSize = 70,
+        color = "red",
+        minAlpha = 10,
+        opacity = 1
+ )
Save img as: ID_20171104005427_69796.html
> library(REmap)
> options(remap.js.web=T)
> cityvalue <- read.csv(file="C:\\Users\\Xu\\Desktop\\cityvalue.csv",header=T,encoding="gb2312")
> theme1 <- get_theme(theme = "none",
+                     lineColor = "red",
+                     backgroundColor = "white",
+                     titleColor = "#fff",
+                     borderColor = "white",
+                     regionColor = "grey",
+                     labelShow = F,
+                     pointShow = F,
+                     pointColor = "gold"
+ )
> markline_data <- data.frame(origin=rep("广州",10),
+                             destination=c("广西","湖南","湖北","贵州",
+                                           "河南","江西","福建","北京",
+                                           "浙江","四川"),
+                             color=rep("red",10)
+ )
> markpoint_data <- data.frame(point=c("广西","湖南","湖北","贵州","河南",
+                                      "江西","福建","北京","浙江","四川"),color=rep("white",10))
> markline_control <- markLineControl(symbolSize=c(0,0),
+                                     smooth=F,
+                                     smoothness=0,
+                                     effect=F,
+                                     lineWidth=1,
+                                     lineType="solid",
+ )
> markpoint_control <- markPointControl(symbol = 'Circle',
+                                       symbolSize = 10,
+                                       effect = T,
+                                       effectType = 'scale',
+ )
> remapC(cityvalue,
+        maptype = 'china',
+        markLineData = markline_data,
+        markPointData = markpoint_data,
+        color = c('#888888','#CDCDCD'),
+        theme = theme1,
+        title = "",
+        subtitle = "",
+        markLineTheme = markline_control,
+        markPointTheme = markpoint_control,
+        #geoData = NA,  geoData参数,此处可以省略该参数的原因是因为作图涉及到城市以及省份数据,remapC函数都会调用内置get_geo_position函数获取对应经纬度,而这只有在数据是城市或省份时才有效
+        #mindata = NA,
+        #maxdata = NA
+ )
Save img as: ID_20171104010458_132853.html
There were 11 warnings (use warnings() to see them)

知识整理来自

[1]R语言中文社区

[2]知乎

转载于:https://my.oschina.net/u/1785519/blog/1563794

REmap包介绍及使用相关推荐

  1. R语言地图可视化—Baidumap包和REmap包

    本文介绍Baidumap包和REmap包的安装和使用方法两部分,REmap和Baidumap包的github下载地址:https://github.com/lanxingyue25/RBaidumap ...

  2. 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库...

    为什么80%的码农都做不了架构师?>>>    安装软件包的三种方法 rpm工具 yum工具 源码包 rpm rpm命令是RPM软件包的管理工具.rpm原本是Red Hat Linu ...

  3. 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库...

    7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库 三种方法 rpm工具----->类型windows下的exe程序 ...

  4. java中的jsonjar_java中使用json之相关jar包介绍

    1.JSON产生的背景 Web开发过程中,在客户端与服务器之间离不开数据的交互,这就需要规定交互数据的相关格式,通常来说都是使用JSON来传递数据. 2.JSON对象以及JSON字符串 JSON对象和 ...

  5. Spring目录结构和基础JAR包介绍

    目前 Spring 框架的最新版本是 5.1.8,本教程是基于 Spring 的稳定版本 3.2.13 进行讲解的.读者可以通过网址 http://repo.spring.io/simple/libs ...

  6. Rsutdio安装REmap包出现错误及解决办法

    学习R绘制地图的过程中需要安装REmap包,原本的安装方法是: library('devtools') install_github('lchiffon/REmap') 但是却出现了如下错误 Duri ...

  7. 《PHP挖宝》2—Symfony包介绍

    <PHP挖宝>2-Symfony包介绍 文章目录 <PHP挖宝>2-Symfony包介绍 Hello World示例 Symfony使用的包 部分Symfony包介绍 < ...

  8. go语言negroni包介绍

    go语言negroni包介绍 前言 go语言很好地支持了网络编程,go 语言与web 框架相关的包有很多,本文主要介绍go语言的negroni包. 前置参考博客:HTTP 协议 与 golang we ...

  9. golang办公工作流workflow js-ojus/flow包介绍——系列一

    golang语言的办公工作流的包介绍--系列一 golang办公工作流workflow利用js-ojus/flow做测试--系列二 golang办公流程引擎初体验js-ojus/flow--系列三 g ...

最新文章

  1. django2.0.6 连接使用redis集群
  2. 引导页 设置只显示一次
  3. JAVA项目答辩的自我评价_毕业答辩的英文自我评价范文
  4. wamp5.5.12安装re dis扩展
  5. Python:正则表达式
  6. clickhouse mysql引擎_MySQL 最优秀的替代品系列之五:Clickhouse 视图的神奇用法
  7. power bi 背景图_Power BI桌面脉冲图
  8. robot frame基础知识--变量
  9. web安全day48:session和cookie、同源策略的初步理解
  10. 使用FileWriter向文本文件中写信息
  11. 激光雷达点云数据处理一(Terrasolid软件安装)
  12. 【RPC】远程过程调用
  13. B站上这些Python和数据分析视频真香!
  14. java.sql.date获取当前时间_关于JDBC中如何使用sql.Date获取当前时间以及对时间的操作和转换...
  15. 基于MongoDB开发的物流系统(简易版)
  16. 求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字,为2。 例如,n=5时=2+22+222+2222+22222,n由键盘输入。...
  17. [转载] 使用Bugzilla,你肯定会遇到的坑。
  18. 每个星座的出生日期php,php根据出生日期计算年龄 生肖 星座程序
  19. 阿里云香港和大陆的服务器分析
  20. 2019 FeatherNets: Convolutional Neural Networks as Light as Feather for Face Anti-spoofing

热门文章

  1. Graphql 初体验 第十一章 | #13 Hitting the API(实现了登录注册表单)
  2. MySQL主从复制以及会出现的幺蛾子问题、解决方法
  3. Beego 简单用户注册与登录
  4. 乱七八糟:迟到的入职两年个人总结
  5. 在godot的canvas_item着色器中构建逆投影矩阵和逆视图矩阵
  6. 开环控制(自动控制理论)
  7. 在死亡边缘疯狂试探:“黑暗旅游”,你敢尝试吗?
  8. ios 改变图片尺寸_iOS基础(十八)——调整图片尺寸和大小
  9. 烤仔TVのCCW丨密码学通识(五)消息认证码
  10. html如何转换为母版页,如何在模板中指定/或取消母版页