plot stacked bar plot in R

后端 未结 2 1106
礼貌的吻别
礼貌的吻别 2020-12-01 22:00

I would like to create histogram [stacked bar plot] in R with data like this:

Period = c(1,1,2,2,3,3,4,4)                              
Sample = c(\"A\",\"B\         


        
相关标签:
2条回答
  • 2020-12-01 22:58

    You are describing a stacked bar chart, not a histogram. With ggplot you can do it as follows:

    library(ggplot2)
    library(reshape2)
    
    x <- data.frame(
      Period = c(1,1,2,2,3,3,4,4),
      Sample = c("A","B","A","B","A","B","A","B"),
      Value1 = c(3,2,6,7,3,2,1,2),
      Value2 = c(1,0,5,2,2,0,2,5)
    )
    
    mx <- melt(x, id.vars=1:2)
    ggplot(mx, aes(x=Period, y=value, fill=variable)) + 
      geom_bar(stat="identity") + 
      facet_grid(~Sample)
    

    enter image description here

    0 讨论(0)
  • 2020-12-01 23:00

    It's not as pretty as the ggplot solution but

    v <- rbind(Value1,Value2)
    barplot(v,beside=FALSE,names=levels(interaction(Period,Sample)),legend=TRUE)
    

    seems to work.

    0 讨论(0)
提交回复
热议问题