如何在 R 中的 ggplot2 中使用 qpolot 在图例标题中上标 -(减号)

How to superscript a - (minus symbol) in a legend title with qpolot in ggplot2 in R

我正在尝试使用 bquote 在 ggplot2 的轴标题中的下标 4 之后直接上标“-”。我很接近!下面给出了除了一个小的上标之外的所有内容——紧跟在下标 4 之后:

qplot(uptake, data = CO2) +  
ylab(bquote('Membrane available NH '[4]*'-N (  '*mu*'g' ~ resin^-1* ~ 14~day^-1*')'))

我试过玩 ^,例如:

qplot(uptake, data = CO2) +  
ylab(bquote('Membrane available NH '[4]*^-'-N (  '*mu*'g' ~ resin^-1* ~ 14~day^-1*')'))

但是得到如下错误信息:

Error: unexpected '^' in "qplot(uptake, data = CO2) +  
ylab(bquote('Membrane available NH '[4]*^"

显然我没有正确表达 ^。

如有任何帮助,我们将不胜感激。

非常感谢!

这是你想要的吗?

library(ggplot2)
qplot(uptake, data = CO2) +  
  ylab(expression(Membrane~available~NH[4^~{"-"}]-N~(mu~g~resin^{-1}~14~day^{-1})))+
  theme(axis.title.x = element_text(color="black", face="bold", size= 12, margin=margin(10,0,0,0)),
       axis.title.y= element_text(color="black", face="bold", size= 18, margin=margin(0,10,0,0)))

我以为要求的是下标 4 和上标减号之间的额外 space。使用 phantom() 是一种方法。 "space" 的长度与适合字符值所需的 space 相同(在 0.67 倍率下):

 NH[4]^{phantom("A")~"-"}

这是对您可能想要什么的猜测。我取出了尽可能多的引号,并在某些地方使用了 cdots 而不是并列。显然你的口味或你的编辑的口味)可能会有所不同:

qplot(uptake, data = CO2) +  
   ylab(bquote(Membrane~available~NH[4]^{phantom("__")*'-'}-
                N *(  mu %.% g [ resin]^-1 %.% ~ 14~day^-1)))

如果假定为微克,则使用 mu*g~