下标和上标" - "或" +"用ggplot2轴标签? (离子化学符号)

时间:2016-01-20 05:34:03

标签: r ggplot2 notation

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

enter image description here

在我的情节中,我希望NO3有负号" - "如下面的上标

enter image description here

在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})) 

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

1 个答案:

答案 0 :(得分:13)

尝试引用减号:

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))

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

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

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

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))

enter image description here