欢迎围观ggtreeExtra预印版

ggtreeExtra这个包之前有介绍过:《用图层叠加方法绘制环形进化树

可以说这是我在2018年发表在MBE的延续,《文章发表:两种方法在进化树上可视化数据》,其中第二种方法,也就是facet_plot或者是后面可以用+号的geom_facet,这个可以说也是个骚操作,分面大家都以为是拿来用同一种方法可视化同一个数据的不同子集。而我却用来用不同方法可视化不同数据,突破了大家的想象力。更重要的是模块化的设计,让它背后拥有了整个世界,没错是整个世界,画树交给ggtree,已经没有对手,画数据交给ggplot2整个社区,没错是整个社区,因为各种扩展包,都能为我所用(当然有些包不兼容也是存在的),所以也不可能有对手,这一结合,就更加不可能有对手。

然而有一个问题,是利用了分面,也就意味着没办法用极坐标,限制了在circular布局上的应用。我最初写了一个gheatmap的函数,算作是个prototype吧,用来画树+热图,在函数内部对数据做了各自操作,让它可以画在树的右侧,变成极坐标,就成了画在外圈。

我对学生说,我想要写一个通用的,可以参考gheatmap,我要的是和geom_facet一样的接口,一样的用户体验。最终学生做出来的,在我意料之外,我本以为会按照gheatmap一样,在函数里对数据进行位移,结果学生开发出来的是通过定义Position对象,传给图层做位移,给我留下了非常好的印象。能够主动思考,做出让导师觉得impressive的成果,此处必须手动点赞!

所以ggtreeExtra可以看做是我在2018MBE文章中第二方法的一个更好实现版本,它同样拥有整个世界,ggtree和整个ggplot2社区,而且支持更多的树布局。

现在我把文章放了个预印版,https://doi.org/10.21203/rs.3.rs-155672/v1 (点击阅读原文也能访问),欢迎大家围观,文章写得很短,但我们写了很长的附件,足足有30页,用各种例子告诉大家,这个包多么好用,且没有对手。https://github.com/YuLab-SMU/plotting-tree-with-data-using-ggtreeExtra

忘了iTOL吧,ggtreeExtra拉着嫁妆(ggplot2社区),赶着马车(ggtree)来了,它难道不香吗?

(0)

相关推荐