如何在ggtree的系统发育树的同一标签中应用斜体和普通字体

Posted

技术标签:

【中文标题】如何在ggtree的系统发育树的同一标签中应用斜体和普通字体【英文标题】:how to apply both italic and normal fonts in the same label in phylogenetic tree in ggtree 【发布时间】:2020-12-26 12:54:12 【问题描述】:

我想要斜体的 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

但我需要的富文本在三个提示标签中,而不是所有五个标签(提示和节点) 有谁知道如何添加标签美学(作为提示标签)?

【问题讨论】:

如果您包含一个简单的reproducible example,其中包含可用于测试和验证可能解决方案的示例输入和所需输出,则更容易为您提供帮助。 你想要做的必须作为一个特性添加到 ggtree 包中。 geom_tiplab() 函数需要一个降价选项。 【参考方案1】:

您可以将parse = T 参数与mathematical annotation 结合使用:

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)   

【讨论】:

以上是关于如何在ggtree的系统发育树的同一标签中应用斜体和普通字体的主要内容,如果未能解决你的问题,请参考以下文章

R语言的ggtree展示进化树的一些常用操作

基因家族分析(4)ggtree绘制高端进化树

R语言ggtree画圆形的树状图展示聚类分析的结果

如何在 SwiftUI 中制作斜体圆形样式系统文本?

MEGA软件——系统发育树构建方法(图文讲解) 转载

启用 <textarea> 显示 HTML 内容,例如粗体、斜体、颜色、img 标签