如何在R中使用多因子为hclust树状图添加有意义的标签?
解决层次聚类树状图自定义标签的问题
你的核心问题是混淆了基础R绘图与ggplot语法的差异,同时用错了标签指定的方式。以下是具体解决步骤:
第一步:生成合并后的有意义标签
用paste()函数将Quadrant和Position两个因子拼接,得到每个样本的唯一标识:# 用下划线分隔两个因子,生成自定义标签列 nta$sample_label <- paste(nta$Quadrant, nta$Position, sep = "_")第二步:两种方式替换树状图标签
基础R的plot.hclust不支持+语法,需分开调用绘图和聚类矩形函数:方法1:绘图时直接指定labels参数
# 绘制树状图并传入自定义标签 plot(nta.hclust, labels = nta$sample_label) # 添加4类的聚类矩形 rect.hclust(nta.hclust, k = 4)方法2:直接修改hclust对象的标签属性
如果后续需要多次使用带新标签的聚类结果,可直接修改对象本身:# 替换hclust对象的默认标签 nta.hclust$labels <- nta$sample_label # 正常绘图即可 plot(nta.hclust) rect.hclust(nta.hclust, k = 4)
补充:若标签显示拥挤,可在plot()中添加cex参数调整字号,例如plot(nta.hclust, labels = nta$sample_label, cex = 0.8)。
内容的提问来源于stack exchange,提问作者Dean Bayliss
相关产品推荐
相关产品推荐

