我正在使用R包ggtree构建一个系统树,并希望突出显示节点。
我的树存储在p中,我想要突出显示的节点在G10中。
p <- ggtree(tree, right=T, layout="circular")
G10 <- findMRCA(tree, c("genome1","genome2","genome3","genome4"), type=c("node"))
我按如下方式突出显示该节点:
p + geom_hilight(node=G10, fill="forestgreen", extendto = 0.6, alpha=1)
我想使用alpha=1
来获得一个漂亮的,强烈的颜色,但是这个颜色覆盖/隐藏了树中的提示,所以你看不到它们(见下图)。有没有一种方法可以把高光部分画在树的后面,这样我仍然可以看到提示?
编辑:我还没有找到一个好的解决方案,但我想出了一个暂时有效的解决方案:
创建两个绘图:树p + theme_transparent()
的透明绘图,以及具有突出显示的p + geom_hilight(node=G10, fill="forestgreen", extendto = 0.6, alpha=1)
的树,并将透明绘图覆盖在powerpoint中突出显示的绘图上,然后保存。
发布于 2020-10-09 14:31:32
你可以调整树层和高光层的顺序。ggtree继承了ggplot2的特性。您可以使用ggtree(tr)
或ggplot(tr) + geom_tree()
来绘制树。所以你可以参考下面的代码。
library(ggtree)
library(ggplot2)
set.seed(1024)
tr <- rtree(20)
p <- ggplot(tr) +
geom_hilight(node=24,alpha=1,fill="forestgreen") +
geom_tree(layout="roundrect") +
geom_tiplab(size=4, hjust=0)
p
https://stackoverflow.com/questions/62510765
复制相似问题