R:向地图添加图例

时间:2021-03-09 14:31:54

标签: r data-visualization legend

我使用的是 R 编程语言。我正在尝试复制以下 stackoverflow 帖子(创建地理空间热图):r heatmap - stat_density2d (ggmap) vs. addHeatmap (shiny leaflet)

我模拟了一些地理空间数据以匹配原始数据的格式:

Lat = round(runif(5000,43,44), 4)
Long = round(runif(5000,79,80), 4)
a <- rnorm(5000,100,10)

map_data <- data.frame(Lat, Long, a)
map_data$Long = -1 * map_data$Long

接下来,运行以下代码以创建整个输出:

#load libraries
    library(leaflet)
    library(leaflet.extras)
    
#make heatmap for variable "a"
    leaflet(map_data) %>%
      addTiles(group="OSM") %>%
      addHeatmap(group="a", lng=~Long, lat=~Lat, max=.6, blur = 60)

enter image description here

是否可以向这张地图添加一个图例来显示变量 map_data$a 的“强度”?

我查看了此函数的文档:https://www.rdocumentation.org/packages/leaflet.extras/versions/1.0.0/topics/addHeatmap

而且似乎没有允许您添加图例的选项。

谢谢

1 个答案:

答案 0 :(得分:1)

根据@user63230 的建议,这里是完整的答案:

Lat = round(runif(5000,43,44), 4)
Long = round(runif(5000,79,80), 4)
a <- rnorm(5000,100,10)

map_data <- data.frame(Lat, Long, a)
map_data$Long = -1 * map_data$Long


bins <- c(0,1,2,3,4)
pal <- colorBin("Spectral", domain = a, bins = bins, na.color = "transparent")



library(leaflet)
library(leaflet.extras)

#make heatmap for variable "a"
leaflet(map_data) %>%
    addTiles(group="OSM") %>%
    addHeatmap(group="a", lng=~Long, lat=~Lat, max=.6, blur = 60)%>%    
    addLegend(pal = pal, values = a,
              title="Heat map legend")
相关问题