web-dev-qa-db-ja.com

下付き文字と上付き文字「-」または「+」とggplot2軸ラベル? (イオン化学表記)

私は以下のコードを使用してこのプロットを得ました

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のみなしで負の符号を持つように変更する方法に関する提案はありますか?

14
shiny

上付き文字演算子の後にマイナス記号を引用してみてください。

_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は、上付きテキストのサイズが縮小されないようにする必要があります。また、2つのチルダの間に_" "_がある理由もわかりません。ティルデの束全体をつなげて「スペース」を増やすことができます。

_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

そして、ボーナスplotmathのヒント:数値の引用は、plotmathでイタ​​リック体の数字を生成する際の文書化された困難を回避する方法です。 (italic(123)の使用は成功しませんが、italic("123")は成功します。)

16
42-