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
相关产品推荐
相关产品推荐

