2017-03-12 2 views
2

Dies ist eine Beispieldaten und eine Handlung, die ich produziert.Plot mehrere Punkte eines einzelnen Faktor nebeneinander

library(ggplot2) 
value<-c(-1.01, -0.02,1.61,0.60, -0.98,0.19,4.68,-0.86,-3.52,-1.85,-2.08,-0.48,0.10,-1.05,-0.003) 
sd<-c(1.40,0.48,0.83,0.41,0.80,0.36,1.52,0.30,1.19,0.44,1.33,0.45,0.64,0.35,1.20) 
variable<-rep(c("A","B","C","D","E"),times=3) 
clss<-rep(c("NC","RC","LC"),each=5) 
df<-data.frame(value,variable,clss) 

ggplot(df,aes(x=variable,y = value))+ 
geom_point()+ 
geom_hline(yintercept = 0, size = I(0.2), color = I("red")) + 
geom_errorbar(aes(ymin = value - 1.96 * sd, ymax = value + 1.96 * sd),width = .1) 

enter image description here

Da gibt es drei Punkte für jede A, B, C, D und E, ich will lieber die drei Punkte nebeneinander zeichnen als in einer einzigen Spalte. Dies impliziert auch, dass ich einen Abstand zwischen dem Etikett A und B, B und C usw. benötige, so dass die drei Punkte von A, B, C, D und E separat in dem Graphen zu sehen sind. meine Fehlerbalken

versuchte ich Bammel

enter image description here

Aber es verschiebt sich meine Punkte nur zu verwenden, und nicht. Auch brauche ich die Platzierung von A, um die Mitte der drei Punkte zu sein. Ähnliches gilt für B, C, D und E.

+0

Okay. Ich werde das machen. – user53020

Antwort

4

Sie müssen beide verwenden dodge auf geom_point und geom_errorbar:

ggplot(df,aes(x=variable,y = value,group=value,color=variable))+ 
geom_point(position=position_dodge(width=0.5)) + 
geom_hline(yintercept = 0, size = I(0.2), color = I("red")) + 
geom_errorbar(aes(x=variable,ymin = value - 1.96 * sd, ymax = value + 1.96 * sd),width = .1,position=position_dodge(width=0.5)) 

enter image description here

Verwandte Themen