Wie kann ich der Position von geom_point in ggplot2 ausweichen?


19

Ich verwende ggplot2 in R, um Diagramme wie die folgenden zu erstellen:

Bildbeschreibung hier eingeben

Die Fehlerbalken überlappen sich und sehen sehr unordentlich aus. Wie kann ich die Fehlerbalken für verschiedene Indizes trennen? Ich habe position = "dodge" verwendet, aber es scheint nicht zu funktionieren. Hier ist der Hauptteil meines Codes:

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
Haben Sie verschiedene Werte von "Dodge" ausprobiert? Zum Beispiel so etwas wie das: position = position_dodge(width = 0.90). Siehe auch diesen Beitrag .
COOLSerdash

Danke für dein Beispiel. Ich habe gerade verschiedene Werte für width ausprobiert und es funktioniert immer noch nicht.
YCC

2
Es ist schwierig, Lösungen ohne den ursprünglichen Datensatz zu finden. Aber ich habe eine Frage: Warum sind Ihre Werte und die "Gruppen" gleich? Was ist ? Sollte nicht sein ? xntruncgroupINDEX
COOLSerdash

Es funktioniert jetzt, nachdem ich group = "INDEX" geändert habe. Ich glaube, ich habe die Bedeutung von 'Gruppe' falsch verstanden. Thanks @COOLSerdash
ycc

Antworten:


12

Die Gruppe sollte = INDEX anstelle von ntrunc in den aes sein.

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")

Die Handlung sieht jetzt besser aus.

Bildbeschreibung hier eingeben


7
Das hat bei mir erst funktioniert, als ichgeom_point(aes(shape=detectable),na.rm=TRUE, position=position_dodge(width=0.3))
Nova am

Es wäre toll, hier ein Beispiel zu bekommen, da ich Ihr Ergebnis nicht reproduzieren kann.
Léo Léopold Hertz 준영

1
@ Nova meine Vermutung ist die Antwort war kaputt, als ggplot2ging von Version 0.9.Xzu 1.Xoder2.X
Richard Erickson
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.