2016-09-27 1 views
1

Hallo wollte ich eine gestapelte BarPlot mit unter Daten mit ggplot2 machen:gruppierte gestapelt BarPlot ggplot2 ohne facet_grid

DF <- read.table(text="Rank P_Rank value_Rank  P2_Rank 
          AC  1  250    1 
          AN  1  100    1 
          AT  1  155    1 
          CA  1  90    1 
          CG  2  630    1 
          CN  2  150    1 
          CT  2  384    1 
          GA  2  485    1 
          CA  3  94    1 
          AT  3  75    1 
          GN  3  163    1 
          GT  3  97    1 
          CA  4  63    2 
          CG  4  16    2 
          CT  4  140    2 
          CG  4  610    2 
          CN  5  46    2 
          CT  5  330    2 
          GA  5  150    2 
          CA  5  67    2 
          CG  6  130    2 
          CN  6  250    2 
          CT  6  484    2 
          GA  6  185    2", header=TRUE) 

ggplot(DF, aes(x = as.factor(P_Rank), y = value_Rank, fill = Rank)) + geom_bar(stat = "identity") 

ich diesen BarPlot erhalten, aber ich möchte gestapelte Balken zu einer Gruppe auf die Variable „P2_Rank“ abhängig. In Rot, was ich hinzufügen möchte (ich habe keine Vorliebe für die 2 Versionen von Barplots A oder B, weil es auf meine Bedürfnisse reagiert).

enter image description here

Vielen Dank im Voraus!

Antwort

2

Aktualisierung. Es stellte sich heraus, dass ich Ihren Post nicht sorgfältig gelesen habe - ich habe gerade bemerkt, dass Sie in Ihrem Titel "ohne facet_grid" sagten. Ich werde das hier sowieso weglassen, aber der Upvoter sollte sich frei fühlen, die Abstimmung zu entfernen.


Sie können Facettierung versuchen:

ggplot(DF, 
    aes(x = as.factor(P_Rank), y = value_Rank, fill = Rank)) + 
    geom_bar(stat = "identity") + 
    facet_wrap(~ P2_Rank, scales = "free_x", switch = "x") + 
    scale_x_discrete("P2_Rank", labels = NULL) + 
    theme(strip.background = element_blank(), 
     panel.margin = unit(-1, "lines")) 

Ausgang: enter image description here

Verwandte Themen