leaflet在线地图之热力密度图

浏览: 2817

杜雨,EasyCharts团队成员,R语言中文社区专栏作者

兴趣方向为:Excel商务图表,R语言数据可视化,地理信息数据可视化。

个人公众号:数据小魔方(微信ID:datamofang) ,“数据小魔方”创始人。

推荐课程:体系全面,最具调性!R语言可视化&商务图表实战课程


​之前在练习leaflet的时候没有找到R语言leaflet中的热力密度图接口函数,一直感觉很遗憾。

最近在Stack Overflow上面发现了leaflet包的一个插件leaflet.esri包,结合leaflet可以在R语言中提供非常完美的热力密度图解决方案,顿时觉得发现了新大陆,立马分享给大家具体的实现思路。

library("leaflet")
library("leafletCN")
library("leaflet.extras")
library("xlsx")

mydata <- read.xlsx(
"D:/Python/File/Cities2015.xlsx",
sheetName="Sheet1",
header=T,
encoding='UTF-8',
stringsAsFactors=FALSE,
check.names=FALSE
) %>%
na.omit()

X


1、默认状态下热力图效果:

leaflet(mydata) %>%
addTiles() %>%
addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

X


2、通过addTiles加载高德地图:

leaflet(mydata) %>%
addTiles( 'http://webrd02.is.autonavi.com/appmaptile?lang=zh_cn&size=1&scale=1&style=8&x={x}&y={y}&z={z}',
options = tileOptions(tileSize=256,minZoom=4,maxZoom=17),
attribution='&copy; <a href="http://ditu.amap.com/">高德地图</a>',
) %>%
addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

X


3、这里可以借用leafletCN::amap函数简化高德地图的调用,该函数封装了高德地图api的接口

leaflet(mydata) %>% leafletCN::amap() %>%
addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

X


4、当然腾讯地图的调用也是可以支持的:

leaflet(mydata) %>%
addTiles( 'http://rt{s}.map.gtimg.com/realtimerender?z={z}&x={x}&y={y}&type=vector&style=0',
options = tileOptions(tms=TRUE, tileSize=256, minZoom=4, maxZoom=17, subdomains="0123"),
attribution = '&copy; <a href="http://map.qq.com/">腾讯地图</a>'
) %>% setView(116.40,39.90, zoom = 4) %>%
addHeatmap(lng = ~lon, lat = ~lat, radius = 8)

X


以上参数中tileSize控制默认显式地图窗口面积,minZoom代码缩放的最大级别(比例尺越大),同理maxZoom=17代表缩放的最小级别(比例尺越小)。

如果你还想了解leafelt更为丰富的用法和特性,请参考以下这些分享,期待大家可以将这些在线地图丰富的可视化特性结合shiny容器打造出更具业务价值的数据分析看板和仪表盘,也期待同样喜欢可视化的小伙伴儿可以一起线上线下交流。

最近终于把《R语言商务图表与数据可视化》的课程录制完毕,并已全部上线,对R语言感兴趣的小伙伴儿们,想要见证不一样的R语言可视化嘛,打开链接即可参与课程报名!https://edu.hellobi.com/course/264

推荐 0
本文由 杜雨 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册