订阅和上标" - "或"+"与ggplot2轴标签?(离子化学符号)

shi*_*iny 12 r notation ggplot2

我使用下面的代码得到了这个情节

在此输入图像描述

在我的情节中,我希望NO3有负号" - "作为上标,如下所示

在此输入图像描述

在x轴的标签中,我不能仅使用负号作为NO3的上标,所以我必须使用-1,如下所示

x <- seq(0,2*pi,0.1)
y <- sin(x)

df <- data.frame(x, y)
ggplot(df, aes(x=x, y=y))+
geom_point(size=4)+
labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{-1}-N~Kg^{-1}),
     y=expression(Concentration~mg~L^{-1})) 
Run Code Online (Sandbox Code Playgroud)

关于如何更改标签只有没有1的负号的任何建议?

42-*_*42- 15

尝试引用减号:

ggplot(df, aes(x=x, y=y))+
geom_point(size=4)+
labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{"-"}-N~Kg^{-1}),
     y=expression(Concentration~mg~L^{-1})) +
theme(legend.title = element_text(size=12, face="bold"),
      legend.text=element_text(size=12),
      axis.text=element_text(size=12),
      axis.title = element_text(color="black", face="bold", size=18))
Run Code Online (Sandbox Code Playgroud)

我认为%.%在单位之间使用运算符看起来更科学准确:

+ labs(x=expression(Production~rate~" "~mu~moles~NO[3]^{textstyle("-")}-N %.% Kg^{-1}),
     y=expression(Concentration~mg~L^{-1})) +
Run Code Online (Sandbox Code Playgroud)

textstyle应该保持上标文本的大小减小.我也不确定为什么你有" "两个波浪之间.您可以将一大堆波浪线串在一起以增加"空间":

ggplot(df, aes(x=x, y=y))+
geom_point(size=4)+
labs(x=expression(Production~rate~~~~~~~~~~~~mu~moles~NO[3]^{textstyle("-")}-N %.% Kg^{-1}),
     y=expression(Concentration~mg~L^{-1})) +
theme(legend.title = element_text(size=12, face="bold"),
      legend.text=element_text(size=12),
      axis.text=element_text(size=12),
      axis.title = element_text(color="black", face="bold", size=18))
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述