ggplot2でgeom_pointの位置を「回避」するにはどうすればよいですか?


19

Rでggplot2を使用して、次のようなプロットを作成しています。

ここに画像の説明を入力してください

エラーバーは互いに重なり合っており、非常に乱雑に見えます。異なるインデックスのエラーバーを分離するにはどうすればよいですか?position = "dodge"を使用しましたが、機能していないようです。これが私のコードの主要部分です。

plot =  ggplot(data,aes(x=ntrunc,y=beta_best,group=ntrunc,colour=INDEX))
       +geom_point(aes(shape=detectable),na.rm=TRUE,position="dodge") 
        +geom_errorbar(aes(x=ntrunc,ymax=beta_high,ymin=beta_low),na.rm=TRUE,position="dodge")

1
「ごまかし」の異なる値を試しましたか?たとえば、次のようなものですposition = position_dodge(width = 0.90)この投稿も参照してください。
COOLSerdash

あなたの例をありがとう。ただし、幅の異なる値を試したところ、まだ機能しません。
ycc

2
xntruncgroupINDEX

group = "INDEX"を変更した後、動作します。私は「グループ」の意味を誤解していると思います。ありがとう@COOLSerdash
ycc

回答:


12

グループべき= INDEXの代わりntrunc AESインチ

plot =  ggplot(data, aes(x=ntrunc, y=beta_best, group=INDEX, colour=INDEX)) +
   geom_point(aes(shape=detectable), na.rm=TRUE, position="dodge") +
   geom_errorbar(aes(x=ntrunc, ymax=beta_high, ymin=beta_low), na.rm=TRUE, position="dodge")

プロットがより良くなりました。

ここに画像の説明を入力してください


7
私は使用するまでこれが私のために動作しませんでしたgeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
ノヴァ

結果を再現できないので、ここでサンプルデータを入手できたらうれしいです。
レオレオポルドヘルツ

1
@Nova私の推測は、ggplot2バージョン0.9.Xから1.Xまたはに行ったときに答えが壊れていた2.X
リチャードエリクソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.