如何使用ggplot_build和ggplot_gtable调整facet_grid框架和箱形图之间的距离

时间:2019-04-06 10:37:41

标签: r ggplot2 distance boxplot facet-grid

我们将使用箱线图显示结果数据,并使用带有ggplot2和geom_boxplot的facet_grid将这些数据分组以用于不同的方法。

我们希望在箱形图和facet_grid的框架之间添加更多空间,如下图所示。

我们使用的代码包括ggplot_build和gglot_table。 需要设置ggplot_build的哪个参数以在面板中获得更多空间?

enter image description here

require(ggplot2)
require(grid)
dat <- rbind(data.frame(approach=1,product=1,value=seq(1,20,0.5)), 
             data.frame(approach=1,product=2,value=seq(5,15,0.3)), 
             data.frame(approach=1,product=3,value=seq(5,17,0.2)), 
             data.frame(approach=2,product=1,value=seq(1,13,0.3)), 
             data.frame(approach=2,product=2,value=seq(3,18,0.5)), 
             data.frame(approach=2,product=3,value=seq(4,25,0.7)), 
             data.frame(approach=3,product=1,value=seq(1,15,0.6)), 
             data.frame(approach=3,product=2,value=seq(3,16,0.5)), 
             data.frame(approach=3,product=3,value=seq(1,10,0.1)))

dat$product<-as.factor(dat$product)

gg1<-ggplot(dat, aes(x =product, y = value)) +
  geom_boxplot() + 
  facet_grid(cols=vars(approach)) 


gt = ggplot_gtable(ggplot_build(gg1))
grid.draw(gt)

1 个答案:

答案 0 :(得分:1)

ggplot(dat, aes(x =product, y = value)) +
  geom_boxplot() + 
  coord_cartesian(xlim = c(1.2, 2, 2.8)) +
  facet_grid(cols=vars(approach))