分享

用ggtree重现Figtree的示例进化树

 微笑如酒 2017-08-18

FigTree有一个好处是可以把可视化的设置保存在nexus文件里,这样当你再次打开FigTree保存的文件时,原来操作的可视化设定都还在。

它自带了几个数据,每个都是打开可以看到很漂亮的树,其中最吸引眼球的,就是下面流感的进化树。整颗树按照分化时间进行上色:


这个我们用ggtree来重新画,也很容易实现一样的效果。其实核心只有两行,那就是ggtree(x, aes(color=height)) + geom_tiplab(align=TRUE)。

scale_colour_gradientn用来设置颜色,scale_x_continuous用来设置x轴断点,而theme用来设置背景的网格线,这些只是后处理,让「重现」更完美而已。

require(ggtree)x <->'/Applications/FigTree/influenza.tree')ggtree(x, aes(color=height), right=TRUE, mrsd='2005-04-02') + theme_tree2() +    geom_tiplab(align=TRUE, linetype='dotted', size=1, linesize=.1) +    scale_colour_gradientn(colours = rainbow_hcl(100))    scale_x_continuous(breaks=c(1992, 1995, 1997, 2000, 2002, 2005),                        minor_breaks=seq(1992, 2005, 1)) +    theme(panel.grid.major   = element_line(color='black', size=.2),          panel.grid.minor   = element_line(color='grey', size=.2),          panel.grid.major.y = element_blank(),          panel.grid.minor.y = element_blank())


实际上ggtree(x, aes(color=height)) + geom_tiplab(align=TRUE)这样简单一句就可以画出来,并且全部元素都被上色。ggtree其实很简单,而且表达力很强。


上一篇文章《ggjoy facet with ggtree》,有读者反应想玩ggtree,但不知道怎么入门,只要你读了《使用ggplot2》这篇文章,都必须可以入门了。(小贴士:蓝色字点击可直达)

Citation

G Yu, DK Smith, H Zhu, Y Guan, TTY Lam. ggtree: an R package for visualization and annotation of phylogenetic trees with their covariates and other associated data. Methods in Ecology and Evolution. doi:10.1111/2041-210X.12628.


赞赏

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多