r - ggtree 高亮后面的进化枝
问题描述
我正在使用 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 中突出显示的图上并保存。
解决方案
您可以调整树层和高光层的顺序。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
推荐阅读
- javascript - d3.js 树 - 为指定的子节点设置深度?
- android - 此处有道路限制的卡车路线图
- php - 自定义摘录长度
- reactjs - 使用 React/Nodejs/Passport 的 Google 身份验证/授权的 COR 问题
- bash - sed -e `s' 的未知选项
- vue.js - Vue下的主题切换少用And-Design-Vue
- ruby-on-rails - Ruby on Rails 解析 api 以保存到 db
- powershell - 在 msi 安装期间抑制确认弹出窗口
- windows - 修改windows服务参数时windows powershell错误
- python - Selenium 显式等待中的解包运算符