web-dev-qa-db-ja.com

数学記号と下付き文字を通常の文字と混在させる

ggplot2に次のようなラベルをプロットしたい:

Value is $\sigma$, R^{2} = 0.6ここで、Value isは通常のフォント、$\sigma$はギリシャ語の小文字のシグマ文字であり、R^{2} = 0.6Rとして表示され、上付きの2が続きます等号(=)に続いて0.6。これをggplot factorsおよびRのxlab,ylabなどの引数でどのように使用できますか?

50
user248237

このようなもの :

g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=0.6')))

[〜#〜] edit [〜#〜]

別のオプションは、annotateparse=Tとともに使用することです。

g+ annotate('text', x = 0, y = 0, 
        label = "Value~is~sigma~R^{2}==0.6 ",parse = TRUE,size=20) 

enter image description here

[〜#〜] edit [〜#〜]

プロット中に定数0.6が計算される場合、paste解が役立つ場合があります。

r2.value <- 0.90
g+ xlab( expression(paste("Value is ", sigma,",", R^{2},'=',r2.value)))
55
agstudy

Paste()よりも幾分簡単です:

g <- ggplot(data=data.frame(x=0,y=0))+geom_point(aes(x=x,y=y))
g+ xlab( expression(Value~is~sigma~R^{2}==0.6))

通常、適切なplotmath接続詞を使用する場合、pasteおよびそれらのすべてのペア引用符は必要ありません。ギリシャ文字を作成するテキストが必要な場合でも、必要なことは、両側に*または~のいずれかを引用符で囲むことだけです。 pasteを初心者にplotmath式に提供する際の問題の1つは、それが言語の他の部分のpasteと同じだと考えることです。

39
42-