如何修改phangorn包plotBS函数绘制的系统发育树指定类群标签颜色
实现方案
你只需要先定义目标高亮类群列表,再为系统发育树的终端标签生成对应的颜色向量,最后在plotBS调用时传入tip.col参数即可完成需求,具体修改如下:
步骤1:定义目标类群
# 声明需要设置为蓝色的类群 target_pops <- c("Pomquet Lake", "Lake Ainslie", "Black River", "Pinchgut Lake", "Blue Pond")
步骤2:生成终端标签颜色向量
# 先对树做重根处理,和你原有绘图逻辑保持一致 rooted_tree <- midpoint(tree_UPGMA) # 生成颜色向量:匹配到目标类群设为蓝色,其余类群保持黑色 tip_cols <- ifelse(rooted_tree$tip.label %in% target_pops, "blue", "black")
步骤3:修改plotBS调用语句
在原有plotBS参数的基础上新增tip.col参数传入刚才生成的颜色向量:
plotBS(rooted_tree, p = 10, type="phylogram", main= "UPGMA Phylogram - All SNPs", tip.col = tip_cols)
补充说明
你原有代码中定义cols时用到的freshwater_pops没有提前赋值,直接用上面的target_pops替换即可正常使用;如果需要调整终端标签的大小,可在plotBS中额外传入cex参数(比如cex = 0.9)调整字号。
内容的提问来源于stack exchange,提问作者AGE
相关产品推荐
相关产品推荐

