R中系统发育提示标签中的斜体和常规文本
Italics and regular text in phylogeny tip labels in R
以下代码将绘制一个系统发育树,其尖端标签为斜体,下划线替换为空格。
library(ape)
tr <- rtree(5, tip.label=c("a_b_x1", "b_c_2", "c_d_3y", "d_e_4", "e_f_5"))
plot(tr)
如何在系统发育的提示标签中将常规文本与斜体文本结合起来?我对最后一个下划线显示为常规文本后的斜体字母和字母数字段感兴趣。
我尝试将 expression
与 tiplabels
一起使用,但由于索引的解释,它不起作用。同样将 sub
格式化为 select expression
中的两个部分失败。
tip <- unlist(strsplit("a_b_x1", "_"))
tiplabels(expression(italic(paste(tip[1:length(tip)-1], collapse = " ")) * tip[length(tip)]),
tip = which(tr$tip.label == "a_b_x1"), frame = "n", bg = "white")
我们可以用bquote
构造表达式:
library(ape)
set.seed(1)
tr <- rtree(5, tip.label=c("a_b_x1", "b_c_2", "c_d_3y", "d_e_4", "e_f_5"))
plot(tr, show.tip.label = F)
for(i in seq_along(tr$tip.label)){
tip <- unlist(strsplit(tr$tip.label[i], "_"))
tiplabels(
bquote(italic(.(paste(tip[-length(tip)], collapse = ' '))) ~ .(tip[length(tip)])),
tip = i, adj = c(0, 0.5), frame = "n", bg = "white"
)
}
以下代码将绘制一个系统发育树,其尖端标签为斜体,下划线替换为空格。
library(ape)
tr <- rtree(5, tip.label=c("a_b_x1", "b_c_2", "c_d_3y", "d_e_4", "e_f_5"))
plot(tr)
如何在系统发育的提示标签中将常规文本与斜体文本结合起来?我对最后一个下划线显示为常规文本后的斜体字母和字母数字段感兴趣。
我尝试将 expression
与 tiplabels
一起使用,但由于索引的解释,它不起作用。同样将 sub
格式化为 select expression
中的两个部分失败。
tip <- unlist(strsplit("a_b_x1", "_"))
tiplabels(expression(italic(paste(tip[1:length(tip)-1], collapse = " ")) * tip[length(tip)]),
tip = which(tr$tip.label == "a_b_x1"), frame = "n", bg = "white")
我们可以用bquote
构造表达式:
library(ape)
set.seed(1)
tr <- rtree(5, tip.label=c("a_b_x1", "b_c_2", "c_d_3y", "d_e_4", "e_f_5"))
plot(tr, show.tip.label = F)
for(i in seq_along(tr$tip.label)){
tip <- unlist(strsplit(tr$tip.label[i], "_"))
tiplabels(
bquote(italic(.(paste(tip[-length(tip)], collapse = ' '))) ~ .(tip[length(tip)])),
tip = i, adj = c(0, 0.5), frame = "n", bg = "white"
)
}