温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

R语言 leaflet怎么实现热力密度图

发布时间:2022-03-28 10:25:32 来源:亿速云 阅读:451 作者:iii 栏目:大数据

本文小编为大家详细介绍“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()

R语言 leaflet怎么实现热力密度图

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

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

R语言 leaflet怎么实现热力密度图

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)

R语言 leaflet怎么实现热力密度图

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

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

R语言 leaflet怎么实现热力密度图

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)

R语言 leaflet怎么实现热力密度图

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

读到这里,这篇“R语言 leaflet怎么实现热力密度图”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI