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

如何在R软件中为层次聚类的各类别及终端节点单独着色?

给层次聚类的聚类及终端节点设置不同颜色

实现思路

  • 先用cutree()确定每个终端节点的聚类归属
  • 在树状图绘制时给节点分配对应聚类的颜色
  • 让聚类矩形的颜色和节点颜色保持统一,增强视觉区分度

完整代码示例

# 基于已有距离/聚类结果转换为hclust对象
cl <- as.hclust(tw)
# 将聚类划分为3类,获取每个样本的聚类标签
cluster_tags <- cutree(cl, k = 3)
# 自定义对应3个聚类的颜色(可按需替换)
cluster_colors <- c("#E74C3C", "#3498DB", "#2ECC71")

# 绘制树状图,给终端节点设置对应聚类的颜色
plot(cl, 
     col.axis = "#F38630", 
     lwd = 3:1, 
     main = '', 
     ylab = '', 
     cex = 1.5, 
     cex.axis = 1.5,
     col = cluster_colors[cluster_tags]  # 节点颜色与所属聚类绑定
)
title(ylab = "Height", mgp = c(2.2, 1, 0), cex.lab = 1.5)

# 绘制聚类矩形,边框颜色与节点颜色匹配
par(lwd=3, mar=c(0,0,0,0), lty = 5)
rect.hclust(cl, 3, border = cluster_colors)

# 可选:给矩形添加半透明填充色,强化聚类区分
# rect.hclust(cl, 3, border = cluster_colors, col = adjustcolor(cluster_colors, alpha.f = 0.2))

关键代码说明

  • cutree(cl, k = 3):把层次聚类结果拆分为指定的3类,返回每个样本对应的聚类编号
  • cluster_colors[cluster_tags]:通过索引匹配,让每个终端节点的颜色和其所属聚类的颜色一致
  • rect.hclust()的border参数绑定聚类颜色,也可以用col参数配合adjustcolor()添加半透明填充,提升可视化效果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 11:01:12