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

R语言使用googleway在Google Maps中为聚类点位设置同色标记

你可以通过googleway中add_markers()函数的colour参数绑定聚类列,即可自动实现同一聚类点位使用相同颜色标记,修改后的完整代码如下:

library(googleway)
library(geosphere)

set_key( "API_KEY" )

swf1<-structure(list(Properties = c(1,2,3,4,5,6), Lat = c(-24.781624,-24.775017,-24.769196,-24.761741,-24.752019,-24.748008), 
                     Lon = c(-49.937369,-49.950576,-49.927608,-49.92762,-49.920608,-49.927707)), 
                    class="data.frame",row.names = c(NA, -6L))

# 聚类计算
d<-as.dist(distm(swf1[,2:1]))
fit.average<-hclust(d,method="average") 
clusters<-cutree(fit.average, 5) 
swf1$cluster<-clusters

# 绘制地图,指定colour参数为聚类列
google_map() %>%
  add_markers(
    data = swf1, 
    lon = "Lon", 
    lat = "Lat",
    colour = "cluster", # 绑定聚类列,自动按聚类分配颜色
    palette = "viridis" # 可选,自定义配色方案,也可传入自定义颜色向量
)

如果需要指定每个聚类对应的固定颜色,可以先为数据新增颜色映射列,示例如下:

# 自定义聚类颜色映射
cluster_col <- c("1" = "red", "2" = "blue", "3" = "green", "4" = "yellow", "5" = "purple")
swf1$marker_col <- cluster_col[as.character(swf1$cluster)]

# 绘制时指定colour为自定义颜色列
google_map() %>%
  add_markers(
    data = swf1, 
    lon = "Lon", 
    lat = "Lat",
    colour = "marker_col"
)

原有未分色的点位效果参考:
点位绘制效果图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 13:39:03