4

ggplot2指数としてマイナス記号を含む(指数に他の文字がない)プロットで凡例を作成しようとしています。しかし、plotmath構文がわかりません。

次のように機能するようです。

expr1 <- expression(paste("text", main[sub]^{-}))

ggplot(mpg, aes(x=cty, y=hwy, colour=drv)) + geom_point() +
  scale_colour_discrete(labels=c(expr1, "b", "c"))

(そして、私たちが言うならば、それは機能しますexpr1 <- expression(paste("text", main[sub]^{super}))。エスケープ文字またはマイナス記号のための何かがありplotmathますか?

4

1 に答える 1

8

マイナス記号は中置演算子であると予想されるため、その前後に引数が必要になるため、ほぼ確実にマイナス記号を引用符で囲む必要があります。それでも問題が解決しない場合は、小さなテストケースを追加します。

エスケープはplotmathでは機能しません。特に、「\ n」を行末/改行マーカーとして使用することはできません(ヘルプ(プロット数学)ページに記載されています)。

これも成功します:

expr1 <- expression(paste("text", main[sub]^{phantom()-phantom()}))

私はこれまでphantom中置演算子の前後を使ってみたことがありませんでしたが、インタプリタには受け入れられるようです。Plotmath式は解析され、R解析ルールに準拠する必要があります。を参照してください?Syntax。コメントに記載されているように、マイナス記号は単項マイナスまたはバイナリマイナスのいずれかとして使用できるため、"-"シングルのプレフィックス演算子として使用することも成功します。phantom()

expr1 <- expression(paste("text", main[sub]^{-phantom()}))

プレフィックスマイナスの後の項目として空の文字値を使用することもできます:{-""}

于 2012-11-29T22:45:13.013 に答える