取子集对于进化树可视化来说是非常常见的,我们要区分内部节点和外部节点,我们也可能想针对某些特点的节点进行注释。
ggplot2现在所有图层都不支持直接取子集,所以呢ggtree就自己定义了一些修改的图层,包括geom_text2
, geom_label2
, geom_point2
和 geom_segment2
,这些图层和ggplot2的版本唯一差别就是支持取子集。这样对于我们做注释来说,就更方便了。
比如说我想给内部节点打点,可以用:
ggtree(tree) + geom_text2(aes(label=label, subset=!isTip), hjust=-.2) +
geom_point2(aes(subset=!isTip), color="red", size=3)