尝试在上标运算符后引用减号:
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 应该防止上标文本变小。我也不确定为什么你在两个波浪号之间有一个" "。您可以将一大堆波浪线串在一起以增加“空格”:
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))
还有一个额外的 plotmath 提示:引用数字是一种解决记录在用 plotmath 生成斜体数字时遇到的困难的方法。 (使用italic(123) 不会成功,...但italic("123") 会成功。)