首页 > 解决方案 > Leaflet - R Shiny 绘图中的自定义聚类

问题描述

在 R Shiny 中,我有以下代码,它以集群的形式绘制了英国境内的大量地标:

服务器

server <- function(input,output){
output$mapengland2 <- renderLeaflet({
    leaflet(options = leafletOptions(minZoom = 6, maxZoom = 14)) %>%
      addTiles() %>%
      addCircleMarkers(lng = data$Longitude, lat = data$Latitude, radius = 8,
                       clusterOptions = markerClusterOptions()))%>%
      fitBounds(-4, 48, 4, 58)
})
}

shinyApp(ui=ui, server=server)

用户界面

ui <- tabsetPanel(
    tabPanel("Map",    
             leafletOutput("mapengland2", width = "100%", height = 800)))

但是,我的数据集中还有一个名为的列,data$Region它指定了地标所在的英国区域。

是否有任何参数clusterOptionsmarkerClusterOptions允许我根据此列中的变量对地标进行聚类,或者您是否必须使用默认方法?我快速浏览了互联网上的“R 传单”,但找不到我要找的东西。

一些集群对我来说有点奇怪 - 诺里奇的地标与伦敦组合在一起,而我希望尽可能将它们作为一个单独的集群,作为一个例子。

虚拟数据

print(data)
Variable  Latitude  Longitude   Region
v1           52.5       1.3      EAST
v2           52.4       1.3      EAST
v3           51.6        0       LOND
v4           51.6       0.1      LOND
v5           51.6      -0.1      LOND
v6           50.6      -1.3      SOUTH
v7           51.6      -2.5      WEST
v8           53.8      -2.4      NORTH
v9           56.4      -1.5      NORTH
v10          55.9      -2.6      NORTH

我不确定默认集群如何工作,但我希望它按区域对变量进行集群。

标签: rleafletgeomapr-leaflet

解决方案


推荐阅读