2017-04-21 3 views
0

Ich habe versucht, Code ein Standard-Balkendiagramm plotten mit:ggplot: Legende Ebene, die Reihenfolge nach rechts auf der x-Achse immer

dat2<-data.frame(Ramp = rep(c("Low","Mid","MidHigh", "High"),each = 2), 
      score=rep(c("Average Score", "Top Score"), 2), 
      score.1=c(23.89,23.89,7.31,2.54,10.18,8.70, 
         3.17,2.00)) 

    plot2<- ggplot(data=dat2,aes(x=score, y=score.1, fill = Ramp)) + 
     geom_bar(stat="identity", position = position_dodge(), 
       width = .8) + 
     theme_classic() 

    colour2<- scale_fill_grey(limits = c("Low","Mid","MidHigh","High")) 

    plot2 + colour2     

Diese in einem Grundstück führt, in dem die Legende in der richtigen Reihenfolge ist, aber die Faktoren in der x-Achse sind nicht in der richtigen Reihenfolge. Wie ändere ich es, um der Reihenfolge der Legende zu entsprechen?

Das Grundstück sieht derzeit wie:

enter image description here

+1

Mögliche Duplikat [Order Bars in ggplot2 Bargraph] (http://stackoverflow.com/questions/5208679/order-bars-in-ggplot2-bar-graph) – Jimbou

Antwort

0

Ändern der Ramp-Variable auf einen Faktor Variable, die Werte angeben.

RampF <- factor(c("Low","Mid","MidHigh", "High"), levels = c("Low","Mid","MidHigh", "High")) 

dat2<-data.frame(Ramp = rep(RampF,each = 2), 
       score=rep(c("Average Score", "Top Score"), 2), 
       score.1=c(23.89,23.89,7.31,2.54,10.18,8.70, 
          3.17,2.00)) 

plot2<- ggplot(data=dat2,aes(x=score, y=score.1, fill = Ramp)) + 
    geom_bar(stat="identity", position = position_dodge(), 
      width = .8) + 
    theme_classic() 

colour2<- scale_fill_grey(limits = c("Low","Mid","MidHigh","High")) 

plot2 + colour2 
Verwandte Themen