2017-11-29 1 views
2

ggplot2ポイントプロットの文字/文字に下位/上付き文字を追加したいと思います。私は座標軸でこれを行う方法を知っているが、この場合、彼らは特殊文字であるため、私はプロットする前に文字ベクトルを定義します。ggplot2の上付き文字と下付きポイント

IPA=(c("ph", "th", "kh", "p", "t", "k", "ts", "tsh", etc.)) 

私は、このようなP^[H]のように文字の組み合わせをプロットしたいとts^[h]はグラフ内の点では有効ですが、この構文は機能しません(p^{h}またはp^hも)。グラフィックを参照してください。

p <- ggplot(data, aes(x, y, label=IPA)) 
p + geom_text(size = 5) + 
    theme(legend.position="none") + 
    scale_shape_manual(values = IPA) 

enter image description here

答えて

1

あなたはplotmath式にテキストを変換し、geom_textparse=TRUEを使用することができます。以下は、組み込みのmtcarsデータフレームの例です。私は(のため?plotmathを参照してくださいmtcarsに列としてごIPA値を追加し、その後[h]hのすべてのインスタンスを変換し、それぞれ、tst^sへのインスタンスのすべて、plotmathにおける添字と上付き文字表現しました式の詳細; Rプロットの数学的注釈に関する多くのStackoverflow質問があります)。 parse=TRUEを指定すると、geom_texthを添字にします。

mtcars$IPA = gsub("h", "[h]", IPA) 
mtcars$IPA = gsub("ts", "t^s", mtcars$IPA) 

ggplot(mtcars, aes(mpg, wt, label=IPA)) + 
    geom_text(size=5, parse=TRUE) + 
    theme_classic() 

enter image description here

+0

ありがとうございます!同様の問題を抱える人にとっては、プロットする前にベクトルに特殊文字を貼り付けるだけです。適切なエンコーディングを保証するには、これがおそらく最善の策です。ありがとうございました! – MeC

関連する問題