как применить курсивный и нормальный шрифты к одной метке в филогенетическом дереве в ggtree

Я хочу, чтобы A было выделено курсивом, а CBS - обычным шрифтом. Я думаю, что ggtext может быть полезен, но у меня ошибка. вот пример:

tree<-read.tree(text="(A,(B,C));")
labs=c("*A*CBS","B","C")
tree$tip.label<-labs
ggtree(tree)+ geom_tiplab(align=T) + geom_richtext()

error: geom_rich_text requires the following missing aesthetics: label

Я тоже пробовал

ggtree(tree)+ aes(label=labs)+geom_tiplab(align=T) + geom_richtext()
error: Aesthetics must be either length 1 or the same as the data (5): label

но богатый текст, который мне нужен, находится в трех ярлыках наконечников, а не на всех пяти ярлыках (наконечник и узел). Кто-нибудь знает, как добавить эстетику ярлыка (как ярлык наконечника)?

1 ответ

Решение

Вы можете использовать parse = Tаргумент в сочетании с математической аннотацией:

       library(ggtree)
library(ggtext)
tree<-read.tree(text="(A,(B,C));")
labs=c("paste(italic('A'),'CBS')","B","C")
tree$tip.label<-labs
ggtree(tree)+ geom_tiplab(align=T,parse=T)   

Другие вопросы по тегам