![](/img/trans.png)
[英]How to color the tip labels on a phylogenetic tree based on factors in external CSV file?
[英]Phylogenetic tree tip color
我有一棵在R上绘制的系统发育树。我想根据种的顺序为尖端边缘着色。 如何单独选择每个笔尖标签的颜色? 我首先尝试:
EdgeCols <- rep("black", Nedge(tree))
EdgeCols[which.edge(tree, tree$edge[1]) ] <- "red"
plot( tree, space = 30, assoc = AMat,
show.tip.label = T, gap = 1, length.line = 0, edge.color =EdgeCols1)
但是,此边缘的颜色不会改变。
谁能告诉我问题出在哪里?
我不确定您要做什么,但是这里是如何使用ape
包装为系统发育的特定边缘着色的方法。 这是为所有边缘着色的代码:
library(ape)
# Simulate tree
ntax <- 20
tree <- rcoal(ntax)
# Color branches
colors <- rainbow(Nedge(tree))
plot(tree, edge.color=colors)
为所有终端分支着色:
# Color terminal branches
colors2 <- rep("black", Nedge(tree))
colors2[which(tree$edge[,2] %in% 1:20)] <- rainbow(ntax)
plot(tree, edge.color=colors2)
我还要指出,您的代码中存在明显的问题:
tree$edge[1]
,但是tree$edge
是一个矩阵,因此不能使用一个值对其进行索引。 which.edge
函数需要尖端向量,并返回由这些尖端定义的单系进化枝中所有边缘的索引。 似乎您正在尝试给它一个单一的值,这没有任何意义。 EdgeCols
,但是在绘图函数中有了EdgeCols1
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.