Ggplot2'deki geom_point'in konumunu nasıl atlatabilirim?


19

Aşağıdaki gibi araziler yapmak için R'de ggplot2 kullanıyorum:

resim açıklamasını buraya girin

Hata çubukları birbiriyle çakışıyor ve bu gerçekten dağınık görünüyor. Farklı dizinler için hata çubuklarını nasıl ayırabilirim? Position = "dodge" kullandım ama çalışmıyor gibi görünüyor. İşte benim kod ana kısmı:

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
Farklı "kaçma" değerlerini denediniz mi? Böyle Örneğin şey: position = position_dodge(width = 0.90). Ayrıca bu gönderiye bakınız .
COOLSerdash

Örneğiniz için teşekkürler. Ancak, sadece farklı genişlik değerlerini denedim ve hala çalışmıyor.
ycc

2
Orijinal veri seti olmadan çözüm bulmak zordur. Ama bir sorum var: -değerleriniz ve "gruplarınız" neden aynı? Nedir ? Gerekmiyor olmak ? xntruncgroupINDEX
COOLSerdash

Şimdi grup = "INDEX" değiştirdikten sonra çalışır. Sanırım 'grup'un anlamını yanlış anladım. Teşekkürler @COOLSerdash
ycc

Yanıtlar:


12

Grubu olmalıdır = DİZİN yerine 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")

Arsa şimdi daha iyi görünüyor.

resim açıklamasını buraya girin


7
Ben kullanana kadar bu benim için işe yaramadıgeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova

Burada bir örnek veri almak harika olurdu çünkü sonucunuzu yeniden oluşturamıyorum.
Léo Léopold Hertz 준영

1
Benim tahminim @Nova cevap kırıldı olan ggplot2sürümden gitti 0.9.Xetmek 1.Xveya2.X
Richard Erickson
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.