我有一些变量,想在图例中使用颜色,只需它的工作如下:
## fake plot
plot(0)
## color legend
LCol <- c("PValue > 0.05"="dimgray","PValue <0.05"="red", "PValue <0.05&logFC>|1|"="darkturquoise", "adj.P.Val <0.1&logFC>|1|"="navy")
## legend
legend('topright', legend=rev(names(LCol)), pch = 19, col=rev(LCol),cex=.6)
但是我想用bquote函数替换图例文本中的变量值,我尝试了:
## Parameters
padj_Cutoff <- 0.1
pval_Cutoff <- 0.05
logFC_Cutoff <- 1
mylegend <- c(bquote(PValue > .(pval_Cutoff)),
bquote(PValue < .(pval_Cutoff)),
bquote(c(PValue,lfc) < .(c(pval_Cutoff,logFC_Cutoff))),
bquote(c(adj.P.Val,lfc) < .(c(padj_Cutoff,logFC_Cutoff))))
plot(0)
leg.col <- c("dimgray", "red","darkturquoise","navy")
legend('topright', legend=rev(mylegend), pch = 19,col = rev(leg.col),cex=.6)
但是传说与我的预期并不相似(请参阅附图中的预期图例)。
答案 0 :(得分:0)
我不会在这里使用bquote
- 你没有通过这样做获得任何东西。 paste
可以满足您的需求。
padj_Cutoff <- 0.1
pval_Cutoff <- 0.05
logFC_Cutoff <- 1
mylegend <- c(paste0("PValue > ", pval_Cutoff),
paste0("PValue > ", pval_Cutoff),
paste0("PValue < ", pval_Cutoff,
" & logFC > |", logFC_Cutoff, "|"),
paste0("adj.PValue < ", padj_Cutoff,
" & logFC > |", logFC_Cutoff, "|"))
plot(0)
leg.col <- c("dimgray", "red","darkturquoise","navy")
legend('topright', legend=rev(mylegend), pch = 19,col = rev(leg.col),cex=.6)
使用特殊字符时, bquote
非常有用。例如:
plot(0, type = "n")
text(1, 0, labels = bquote(paste(mu)))