I am trying to add a scale to an unrooted tree with geom_treescale, but when I use it, the tree completely collapses and I am not able to set anything that fix it. Anybody has any idea on how to do it ?

google group里的问题,说他加geom_treescale之后,树被压缩了,由于他没有给出可重复性的例子,所以我们并不知道情况到底有多么糟糕,但这种情况是可能发生的,因为加treescale这种东西,默认情况下geom_treescale会自己去计算该加多大的scale bar,该放在什么位置上,而这种默认情况是基于rectangular布局来的,在假设的情况下,都不可能尽善尽美,假设不成立的情况下当然有可能搞得很差。

Continue reading

Hello all,

When I plot some data using ggtree, the out groups are on a very long branch length. The out groups are 75 and 76 in the example below.

I would like to keep the out groups in the tree but ignore their branch lengths to make presentation easier.

Continue reading

话说有一只蛙,它旅游去了广东,游戏结束。

这篇文章,只想跟大家讲一讲ggtree,你值得拥有的强大的进化树可视化软件,高颜值的图,就在于指尖几行代码中。

最近养蛙很流行,就以蛙为例,读树用read.tree,然后一个ggtree的指令,树就画出来了。而你见证神奇的时刻就在于你不断+geom_xxx加图层,这里我用了geom_tiplab来加taxa label,而这个可不仅仅是名字哦,用emoji也可以,这里我用的竟然是图片,你没看错,也可以。只要指定geom="image"就OK,那个本来要打的文本,就会被当成是文件名,然后读图片画图片,一切尽在我的ggimage包。

Continue reading

取子集对于进化树可视化来说是非常常见的,我们要区分内部节点和外部节点,我们也可能想针对某些特点的节点进行注释。

ggplot2现在所有图层都不支持直接取子集,所以呢ggtree就自己定义了一些修改的图层,包括geom_text2, geom_label2, geom_point2geom_segment2,这些图层和ggplot2的版本唯一差别就是支持取子集。这样对于我们做注释来说,就更方便了。

比如说我想给内部节点打点,可以用:

ggtree(tree) + geom_text2(aes(label=label, subset=!isTip), hjust=-.2) +
        geom_point2(aes(subset=!isTip), color="red", size=3)

Continue reading

据说1024是程序员的节日,就在这一天,Y叔开始了第一次的网络讲座,首次在网络上露面。内容就是上一周预告的《线上沙龙》。

很多人想要学ggplot2 + ggtree,但我的定位不是技术性的培训,而是学术讲座,所以一开始把问题摆出来,是有一些问题存在,有knowledge gap,然后我要去解决它。当然考虑到听众的knowledge gap也很大,我在介绍ggtree的之前,也帮大众撸了一篇R的画图,在这简短的时间里,你应该了解了R几个画图系统的关系,base和grid我在slides里写graphic system,但lattice和ggplot2我写的是data visualization system,我对它们是有区别对待的,像lattice和ggplot2自己是不成一体的,但提供了高阶的数据可视化方法/语法。听完讲座你也应该了解ggplot2,知道要怎样去入门,知道重点该学什么。

Continue reading

最初github上用户(@JustGitting)报告说geom_hilightgeom_cladelabel不能用于unrooted树。详见:https://github.com/GuangchuangYu/ggtree/issues/118

我表示这确实是不行的,然后这就变成了feature request。我继续表示unrooted tree在ggtree中的实现并不好,我只实现了equal angle algorithm,在写注释图层之前,如果我有时间的话,我希望可以先实现更好的layout algorithm。

然后JustGitting表示,他发现python的ETE和R的ape,在无根树的可视化上好像都不太行。问我有什么unrooted的layout algorithm,有没有什么参考文献,或许他可以帮忙实现,因为他觉得ggtree是最成熟的软件。

Continue reading

还记得《ggtree hex sticker》一文吧?画了几个六角贴,纯代码生成。时隔半年,原来的ggtree已经分成了treeioggtree两个包,而我也做了这两个包的六角贴,终于我花了289美元印了一大波贴纸+磁贴。

Continue reading

Author's picture

Guangchuang Yu

a senior-in-age-but-not-senior-in-knowledge bioinformatician

Postdoc researcher

Hong Kong