У меня проблемы с маркировкой отдельных подсказок в моем дереве с помощью 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)
Как видите, я могу выделить оба узла 38 и 3 с помощью geom_hilight , Я также пометил узел 38 с текстом «Clade 2» с помощью geom_cladelabel.
Однако, когда я пытаюсь пометить узел 3 с помощью geom_cladelabel, я получаю предупреждающее сообщение:
#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 для обычных узлов?
Любая помощь приветствуется.