我正在尝试使用 ape 包中的 plot.phylo 命令为 R 中系统发育类型图的边缘(线)添加颜色。此示例适用于“扇形”类型图,但我希望该方法与“系统图类型”或其他方法相同。
library('ape')
hc <- hclust(dist(USArrests), "ave")
plot(as.phylo(hc), type="fan")
将tip.color 选项与cutree 命令结合使用,根据一组组为提示(标签)添加颜色是没有问题的。
hc.cuts <- cutree(hc, k=5)
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts])
edge.color 选项定义边缘的颜色,但在需要多种颜色时不以登录方式定义。
plot(as.phylo(hc), type="fan", tip.color=rainbow(5)[hc.cuts], edge.color=rainbow(5)[hc.cuts])
但是,一旦树状图的该分支用于给定组,我希望边缘与终端尖端颜色相匹配。在给定的示例中,对于红色和蓝色组,第一级边缘将保持黑色(因为它朝向两个组:红色和蓝色),但超出此范围的边缘将与最终的尖端颜色相同。
我怀疑关键在于弄清楚 as.phylo 对象中 $edge 值的顺序,但我自己无法弄清楚。谢谢。