R语言教程之利用R快速绘制热力地图and连线迁徙地图
当前位置:以往代写 > R语言教程 >R语言教程之利用R快速绘制热力地图and连线迁徙地图
2019-06-13

R语言教程之利用R快速绘制热力地图and连线迁徙地图

R语言教程之利用R快速绘制热力地图and连线迁徙地图

本文简单介绍如何利用R绘制热力地图和连线(迁徙)地图,具体代码如下:

热力地图:


l

ibrary(REmap)
setwd("F:\\Dropbox\\R\\公众号\\map")
data<- read.csv(file="cityvaluetop10.csv",header=T)
options(remap.js.web=T)
##设定工作环境,导入程序包并读取数据
##options(remap.js.web=T)是将结果保存在工作目录下
theme1 <- get_theme(theme = "none",
                    lineColor = "white",
                    backgroundColor = "white", 
                    titleColor = "#fff",
                    borderColor = "blue", 
                    regionColor = "grey",
                    labelShow = T, 
                    pointShow = F, 
                    pointColor = "gold"
                    )
##theme为主题,设置该参数后无需设置get_theme里其他参数,可选有”Dark”、”Sky”、”blue”和”none”四种
##lineColoe为线条颜色
##backgroundColor为图片的背景色,支持16进制颜色输入,也支持rgb()函数和rgba()
##titleColor为标题的颜色,设置同上
##borderColor为地图中各省、市边界颜色
##regionColor为地图中各区域颜色,各省份和市
##labelShow为是否展示各省、市名字,设置为True时展示
##pointShow为是否展示各省会,城市所在点,设置为True时展示
##pointColor设置上述点的颜色
remapH(data,
       maptype = 'china',
       theme = theme1,
       blurSize = 30,
       color = "blue",
       minAlpha = 10,
       opacity = 1,
       )
##data为要传入的数据,数据为三列,第一列为lon(经度),第二列为lat(维度),第三列为prob(密度/概率)
##maptype为要绘制的地图类型,可选有:”china”,”world”或中国各省份名字
##theme为绘制的地图主题类型
##blurSize为热力效果的泛化范围,可调整热力点中心的扩散程度
##color为热力的渐变颜色
##minAlpha为热力点的展示阈值,对应data中的prob列,作图时各点密度会对比minAlpha,以凸显不同密度所展示的不同热力分布
##opacity为透明度,调整热力图的透明度

图示如下:

迁徙(连线)图:

library(REmap)
setwd("F:\\Dropbox\\R\\公众号\\map")
cityvalue <- read.csv(file="cityvalue.csv",header=T,encoding="gb2312")
options(remap.js.web=T)
##设定工作环境,导入程序包并读取数据
##options(remap.js.web=T)是将结果保存在工作目录下
theme1 <- get_theme(theme = "none", 
                    lineColor = "red",
                    backgroundColor = "white", 
                    titleColor = "#fff",
                    borderColor = "white", 
                    regionColor = "grey",
                    labelShow = F, 
                    pointShow = F, 
                    pointColor = "gold"
                    )
##theme为主题,设置该参数后无需设置get_theme里其他参数,可选有”Dark”、”Sky”、”blue”和”none”四种
##lineColoe为线条颜色
##backgroundColor为图片的背景色,支持16进制颜色输入,也支持rgb()函数和rgba()
##titleColor为标题的颜色,设置同上
##borderColor为地图中各省、市边界颜色
##regionColor为地图中各区域颜色,各省份和市
##labelShow为是否展示各省、市名字,设置为True时展示
##pointShow为是否展示各省会,城市所在点,设置为True时展示
##pointColor设置上述点的颜色
markline_data <- data.frame(origin=rep("广州",10),
                            destination=c("广西","湖南","湖北","贵州",
                                          "河南","江西","福建","北京",
                                          "浙江","四川"),
                            color=rep("red",10)
                            )
##手动填入前10城市数据,作线条用,并设置颜色为red
markpoint_data <- data.frame(point=c("广西","湖南","湖北","贵州","河南","江西","福建","北京","浙江","四川"),color=rep("white",10))
markline_control <- markLineControl(symbolSize=c(0,0),
                                    smooth=F,
                                    smoothness=0,
                                    effect=T,
                                    lineWidth=1,
                                    lineType="solid",
                                    )
##此处设置前10城市数据,绘制点图用,并设置颜色为grey
##symbolSize 控制上述参数形状大小,同样有两个值
##smooth 控制线条是否平滑,为T时,smoothness参数才有效
##smoothness 控制线条的平滑度,为0时是直线
##effect 控制线条是否呈现动态效果,为T时显示动态效果,需要注意的是当线条过多时effect参数无效,不会显示动效
##linewidth 控制线条的粗细
##lineType 控制线条的形状,可选样式有:'solid', 'dotted','dashed'等
markpoint_control <- markPointControl(symbol = 'Circle',
                                      symbolSize = 10,
                                      effect = T,
                                      effectType = 'scale',
                                      )
##symbol 控制点的形状,可选样式有:'pin''circle','rectangle','triangle','diamond','emptyCircle','emptyRectangle','emptyTriangle'等
##symbolSize 控制上述参数形状大小
##effect 控制点是否呈现动态效果,为T时显示动态效果,需要注意的是当点数目过多时effect参数无效,不会显示动效
##effectType 控制点的动效呈现形式,可选样式有:'scale' ,'bounce'
remapC(cityvalue,
       maptype = 'china',
       markLineData = markline_data,
       markPointData = markpoint_data,
       color = c('#888888','#CDCDCD'),
       theme = theme1,
       title = "",
       subtitle = "",
       markLineTheme = markline_control,
       markPointTheme = markpoint_control,
       )
##cityvalue为要传入的数据,该数据为2列,第一列为city(各城市,省份名字),第二列为value(对应第一列城市拥有的数值)
##maptype 为要绘制的地图类型,可选有:”china”,”world”或中国各省份名字
##markLineData 为要绘制的线条的数据,该数据前两列为必须,第一列为origin(出发地),第二列为destination(目的地),此外建议在第三列指定线条颜色,因
##markPointData 为要绘制的点的数据,该数据前一列,该列为要绘制的点名字
##color 为热力颜色的渐变,第一个为起始颜色,第二给为终止颜色
##theme为主题,设置该参数后无需设置get_theme里其他参数,可选有”Dark”、”Sky”、”blue”和”none”四种
##title 为标题
##subtitle 为副标题
##markLineTheme 为控制线条的样式参数,该参数由markLineControl函数传入
##markPointTheme 为控制点的样式参数,该参数由markPointControl函数传入

图示如下:

    关键字:

在线提交作业