查看原文
其他

Y叔 2018-06-04

这是ggtreet用户的提问,说ape和phytools,都可以用edgelabels来画边的labels.

set.seed(1) tr = rtree(30)    
library(ape) plot(tr, main="ape") edgelabels()

当然对于这个edge number,我看不到任何意义,因为只是row index of tr$edge, 另一点是边可以独一地映射到子节点。如果我们需要把一些信息关联到边的话,我们可以关联到相应的子节点上。而节点是ggtree注释的核心。

比如说这个edge number吧, 我们可以关联到节点,然后用%<+%把资料给联接上去,就像我们关联其它资料一样。

library(ggtree) p = ggtree(tr, ladderize=F) + geom_tiplab() + ggtitle("ggtree") edge=data.frame(tr$edge, edge_num=1:nrow(tr$edge)) colnames(edge)=c("parent", "node", "edge_num") p %<+% edge + geom_label(aes(x=branch, label=edge_num))

上面演示的只是特例而已,这个功能可以让用户用自己的数据注释进化树(戳蓝色字或点击阅读原文直达)。

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存