我在用 ggtree 标记树中的单个提示时遇到问题。我正在尝试使用 geom_hilight 和 geom_cladelabel 从树中突出显示和标记节点。这似乎适用于具有超过 1 个树尖的节点,但是当我尝试标记单个提示时,我收到一条警告消息并且该提示没有被标记。
例子:
library(dplyr)
library(ggtree)
library(dplyr)
library(ggtree)
#Create tree
set.seed(123)
tree <- rtree(30)
ggtree(tree)
#Highlight and label clade
ggtree(tree) + geom_text(aes(label=node)) + geom_tiplab(size=3, offset=0.1) +
geom_hilight(node=3, fill="steelblue", alpha=0.5) +
geom_hilight(node=38, fill="pink", alpha=0.5) +
geom_cladelabel(node=38, label="clade 2", align=T,
color='black', fontsize=4)
如您所见,我可以使用 geom_hilight 突出显示节点 38 和 3。我还将节点 38 标记为带有 geom_cladelabel 的文本“Clade 2”。
但是,当我尝试使用 geom_cladelabel 标记节点 3 时,我收到一条警告消息:
#Highlight and label single tip
ggtree(tree) + geom_text(aes(label=node)) + geom_tiplab(size=3, offset=0.1) +
geom_hilight(node=3, fill="steelblue", alpha=0.5) +
geom_hilight(node=38, fill="pink", alpha=0.5) +
geom_cladelabel(node=3, label="clade 1", align=T,
color='black', fontsize=4) +
geom_cladelabel(node=38, label="clade 2", align=T,
color='black', fontsize=4)
Warning messages:
1: In max(sp.df$x, na.rm = TRUE) :
no non-missing arguments to max; returning -Inf
2: In min(y) : no non-missing arguments to min; returning Inf
3: In max(y) : no non-missing arguments to max; returning -Inf
4: In max(sp.df$x, na.rm = TRUE) :
no non-missing arguments to max; returning -Inf
5: In min(y) : no non-missing arguments to min; returning Inf
6: In max(y) : no non-missing arguments to max; returning -Inf
有没有一种方法可以以与 clade_geomlabel 对常规节点相同的方式标记单个尖端?
任何帮助表示赞赏。