我将我的树以 nwk 格式导入到 R 中。
我能够按照常见问题解答中的说明进行操作(提取引导值并显示大于 70% 的引导值),但很难在没有下划线的情况下使用我的新标签。它在我在 geom_tiplabel 中使用 label_value 时有效,但在我使用 aes(label=....) 时无效。我也没有成功将物种名称斜体化。理想情况下,我想用斜体显示“物种名称”,而不是用斜体显示“加入”和“菌株 XYZ”。
我不知道我的错误在哪里。任何帮助深表感谢。
您将在下面找到我制作的示例脚本。我还在此处附加了 nwk 格式的示例树。
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)
用tiplabels提取标签并删除下划线
d <-q$data
l<-d[d$isTip==T,]
l$label ='label'= gsub("_"," ",l$label)
用tiplabels提取标签并删除下划线
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, 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,aes(label=label))+
geom_treescale(x=0, y=12, fontsize = 5)
更新
我再次使用了常见问题解答中的示例。
ggtree 使用 geom_tiplabel,添加数据框,加入粗体,物种名称斜体,addinfo 正常
q %<+% lnew +
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(aes(label=paste0('bold(', Accession , ')~italic(',
species, ')~', addinfo)), parse=T)+
geom_treescale(x=0, y=12, fontsize = 5)
添加的数据框在这里。树现在看起来像这样。这是我用上面的脚本得到的树
我知道该脚本之所以有效,是因为我删除了数据框中的空格(例如,物种名称变成了物种名称)。
因此,如果我现在将我的数据框改回原来的,我该如何使用 parse 来避免出错并将其包含在 ggtree 中?
解析错误(文本 = 文本 [[i]])::1:33:意外符号 1:粗体(加入)~斜体(物种名称 ^