是否有R函数可为MDS图中两类聚类/组的点着色?
解决metaMDS绘图的两个问题
1. 消除"species scores not available"错误
你不需要显示物种得分,绘图时明确指定只绘制位点即可,避免程序尝试加载不存在的物种得分数据。
2. 给指定位点设置不同颜色
先给位点分组定义颜色,再用文本形式绘制位点:
完整代码示例
# 保留你的原有分析代码 mydistdata <- metaMDS(mydata, autotransform = FALSE) mydistdata$stress # 1. 列出需要变色的位点 target_sites <- c("17", "44", "24b", "35", "31b", "43", "26", "30a", "40", "34") # 2. 生成颜色向量:目标位点用红色,其余用黑色(可自行替换颜色) site_colors <- ifelse(rownames(mydata) %in% target_sites, "red", "black") # 3. 绘制仅含位点的自定义图 plot(mydistdata, display = "sites", type = "n") # 初始化空白绘图区 text(mydistdata, display = "sites", col = site_colors, cex = 1) # 添加带颜色的文本位点
代码说明
display = "sites":强制只处理位点数据,彻底避开物种得分相关的错误。type = "n":先创建空白画布,不自动绘制任何元素,方便后续自定义设置。text()函数:用文本形式展示位点,通过col参数传入预定义的颜色向量,实现指定位点变色。
内容的提问来源于stack exchange,提问作者Grace
相关产品推荐
相关产品推荐

