You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在R的highcharter中配置marker-clusters实现地图点聚类的正确语法

解决Highcharter地图Marker聚类配置问题

核心配置要点

  • 必须通过hc_plotOptions()统一配置聚类规则,而非直接写入hc_add_series()参数
  • 用JS()函数包裹原生JavaScript逻辑(比如聚类标签的格式化方法)
  • 确保加载marker-clusters依赖后,针对mapbubble类型的系列配置聚类参数

完整可运行示例代码

模拟测试数据

test_data <- data.frame(
  lat = c(39.9042, 31.2304, 23.1291, 30.2741, 39.0842),
  lon = c(116.4074, 121.4737, 113.2644, 120.1551, 117.2008),
  name = c("北京", "上海", "广州", "杭州", "天津"),
  value = c(10, 20, 15, 25, 12)
)

聚类地图实现代码

library(highcharter)

hc <- highchart(type = "map") %>%
  # 加载marker-clusters模块依赖
  hc_add_dependency(name = "modules/marker-clusters.js") %>%
  # 添加底图(以中国地图为例,可替换为你使用的地图数据)
  hc_add_series(mapData = get_data_from_map("countries/cn/cn-all"), 
                name = "底图", 
                borderColor = "#606060",
                borderWidth = 0.5,
                nullColor = "#f1f1f1") %>%
  # 添加气泡点数据
  hc_add_series(data = test_data,
                type = "mapbubble",
                name = "城市数据",
                maxSize = "10%",
                minSize = "2%",
                color = "#007bff") %>%
  # 关键:配置聚类规则
  hc_plotOptions(
    mapbubble = list(
      marker = list(
        clusters = list(
          enabled = TRUE,
          allowOverlap = FALSE,
          # 聚类布局算法,可按需调整
          layoutAlgorithm = list(
            type = "grid",
            gridSize = 70
          ),
          # 聚类标签显示配置
          dataLabels = list(
            enabled = TRUE,
            formatter = JS("function() { return this.point.clusterPointsAmount; }")
          )
        )
      )
    )
  ) %>%
  hc_mapNavigation(enabled = TRUE) %>%
  hc_title(text = "缩放自动聚类的城市数据地图")

hc

关键说明

  • 聚类配置仅对mapbubble类型的系列生效,需确保点数据系列的type参数为mapbubble
  • layoutAlgorithm的gridSize控制聚类触发的距离,数值越小聚类越容易触发
  • formatter函数通过JS()包裹,直接复用Highcharts原生JS语法实现聚类数量展示

内容的提问来源于stack exchange,提问作者andrew_reece

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 11:07:44