写在最前
下面是《可视化篇:效果图》中第2、3张的实现说明
使用工具为:R语言
1.环境配置
- https://cran.r-project.org/ 上下载对应系统及版本的R软件,下文环境为win64的R
- 根据提示安装R即可,过程不会太复杂
- 此次用到的包为REmap,其挂靠在https://github.com/ 上,路径我写好了,只需运行R,依次输入:
Install.packages(“devtools”)
此时会谈出一个界面,选择china即可,下载完成后,再输入:
Library(devtools)
Install_github(“Lchiffon/REmap”),稍等片刻下载完成后,再输入:
library(REmap) - 配置完成
注意:1.如果安装devtools包过程提示没有digest包error,则再输入install.packages(“digest”),再重复上述3过程
2.REmap包简介
- REmap包是R与echart的对接,在R里调用echart的api直接作图,函数特征更加简单明了,绘图过程更方便快捷,但缺点是若要更加个性化绘图,需要手动修改REmap包源码,而该部分对于没有javascript/css/html基础的人比较晦涩难懂
- remapH函数:该函数主要用于绘制热力效果图,如在地图上绘制不同密度的热力效果
- remapC函数:该函数主要用于绘制分块区域热力,如在地图上显示不同省份热力效果
- remapB函数:该函数主要基于百度地图背景,可作迁徙,通勤效果图
- markLineControl,markPointControl,get_theme这三个函数主要用于控制在map图上打点,画线,以及主题的各种样式,如颜色,效果,粗细等。
3.Map图绘制—热力图
remapH函数,函数各参数如下:
remapH(data,
maptype = 'china',
theme = get_theme("Dark"),
blurSize = 30,
color = c('blue'),
minAlpha = 0.05,
opacity = 1,
)
data为要传入的数据,数据为三列,第一列为lon(经度),第二列为lat(维度),第三列为prob(密度/概率)
maptype为要绘制的地图类型,可选有:”china”,”world”或中国各省份名字
theme为绘制的地图主题类型,可由get_theme函数传入,get_theme在下面会详解
blurSize为热力效果的泛化范围,可调整热力点中心的扩散程度
color为热力的渐变颜色
minAlpha为热力点的展示阈值,对应data中的prob列,作图时各点密度会对比minAlpha,以凸显不同密度所展示的不同热力分布
opacity为透明度,调整热力图的透明度
get_theme函数,函数各参数如下:
get_theme(theme = "Dark",
lineColor = "Random",
backgroundColor = "#1b1b1b",
titleColor = "#fff",
borderColor = "rgba(100,149,237,1)",
regionColor = "#1b1b1b",
labelShow = T,