How to plot 'multiple box plots' in one plot?

前端 未结 1 1063
耶瑟儿~
耶瑟儿~ 2021-01-05 12:13

I have data in the following format:

  # repetition, packet, route, energy level
  1, 1, 1, 10.0
  1, 1, 2, 12.3
  1, 1, 3, 13.8
  1, 2, 1, 9.2
  1, 2, 2, 10         


        
相关标签:
1条回答
  • 2021-01-05 12:33

    If you're using ggplot2, you'll be able to do this quite nicely with facet_wrap, which can create multiple boxplots next to each other. For example:

    library(ggplot2)
    mydata = data.frame(x=as.factor(rep(1:2, 5, each=5)), y=rnorm(50),
            division=rep(letters[1:5], each=10))
    
    print(ggplot(mydata, aes(x, y)) + geom_boxplot() + facet_wrap(~division))
    

    enter image description here

    In the case of your code, you look like you might actually want to divide by two variables (it's a little unclear). If you want to divide it by route and then by packet (as your example seems to suggest) you can use facet_grid:

    print(ggplot(data, aes(repetition, energy.level)) + geom_boxplot() + facet_grid(route ~ packet))
    

    However, note that since you have 99 packets this would end up being 99 graphs wide, so you probably want to try a different approach.

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