如何解决如何使用 nwk 格式的树在 ggtree 中斜体显示物种名称? 提取和转换引导值使用提示标签提取标签并删除下划线使用提示标签提取标签并删除下划线ggtree 使用 label_value 使用没有下划线的标签ggtree 使用 geom_tiplabel 使用没有下划线的标签,不起作用ggtree 使用 geom_tiplabel,添加数据框,加入粗体,物种名称斜体,addinfo 正常
我将我的树以 nwk 格式导入 R。
我能够按照 FAQ 中的说明进行操作(提取引导值并显示大于 70% 的引导),但很难在没有下划线的情况下使用我的新标签。当我使用 label_value 时它起作用 geom_tiplabel 但不是当我使用 aes(label=....) 时。 我也没有成功地将物种名称斜体。理想情况下,我希望有斜体的“物种名称”,而不是斜体的“加入”和“菌株 XYZ”。
我不知道我的错误在哪里。非常感谢任何帮助。
您将在下面找到我制作的示例脚本。我还附上了 nwk 格式的示例树 here。
tree1 <- read.tree("example.nwk")
tree1
plot(tree1)
p1ex <- ggtree(tree1)
plot(p1ex)
提取和转换引导值
q <- ggtree(tree1)
q
d <-q$data
b<-d[!d$isTip,]
b$label = as.numeric(b$label)
b$label = round(b$label * 100)
b$label <- as.numeric(b$label)
使用提示标签提取标签并删除下划线
d <-q$data
l<-d[d$isTip==T,]
l$label ='label'= gsub("_"," ",l$label)
使用提示标签提取标签并删除下划线
df<-p1ex[[1]]
newcolumn<-df[[4]]
labelnew<-data.frame('label'=gsub("_",newcolumn))
labelnew
ggtree 使用 label_value 使用没有下划线的标签
windows(height=8,width=8)
q +
geom_tree() +
theme_tree()+
geom_text2(data=b,aes(label=label,subset = !is.na(as.numeric(label)) & as.numeric(label) >
70),size = 4,color = "black",hjust=1.3,vjust=1.3,parse = TRUE)+
geom_nodepoint(size=1)+
xlim(0,1.8) +
geom_tiplab(data=l,size=4,label_value(labelnew))+
geom_treescale(x=0,y=12,fontsize = 5)
ggtree 使用 geom_tiplabel 使用没有下划线的标签,不起作用
windows(height=8,width=8)
q +
geom_tree() +
theme_tree()+
geom_text2(data=b,aes(label=label))+
geom_treescale(x=0,fontsize = 5)
更新
我再次使用了 FAQ 中的示例。
ggtree 使用 geom_tiplabel,添加数据框,加入粗体,物种名称斜体,addinfo 正常
q %<+% lnew +
geom_tree() +
theme_tree()+
geom_text2(data=b,subset =
!is.na(as.numeric(label)) & as.numeric(label) > 70),parse = TRUE)+
geom_nodepoint(size=1)+
xlim(0,1.8) +
geom_tiplab(aes(label=paste0('bold(',Accession,')~italic(',species,')~',addinfo)),parse=T)+
geom_treescale(x=0,fontsize = 5)
添加的数据框是 here。这棵树现在看起来像这样。 This is the tree I got with the above script
我知道该脚本之所以有效,是因为我删除了数据框中的空格(例如,物种名称变成了物种名称)。
因此,如果我现在将数据框改回原始数据,我该如何使用 parse 来避免出错并将其包含在 ggtree 中?
解析错误(text = text[[i]]) : :1:33: 意外符号 1:粗体(加入)~斜体(物种名称) ^
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。