如何使用 ggplot_build 和 ggplot_gtable 调整 facet_grid 框架和箱线图之间的距离
Posted
技术标签:
【中文标题】如何使用 ggplot_build 和 ggplot_gtable 调整 facet_grid 框架和箱线图之间的距离【英文标题】:How to adjust the distance between the facet_grid frame and boxplots using ggplot_build & ggplot_gtable 【发布时间】:2019-08-28 02:46:51 【问题描述】:我们使用箱线图呈现结果数据,并使用 facet_grid 与 ggplot2 和 geom_boxplot 将这些数据分组以用于不同的方法。
我们想在箱线图和 facet_grid 的框架之间添加更多空间,如下图所示。
我们使用的代码包括 ggplot_build 和 gglot_table。 需要设置 ggplot_build 的哪个参数才能在面板中获得更多空间?
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)
【问题讨论】:
您好,感谢您的建议,但是,它也可能会影响 x 轴的标签。是否没有通过更改比例来更改位置而不使用变通方法的设置? 【参考方案1】:ggplot(dat, aes(x =product, y = value)) +
geom_boxplot() +
coord_cartesian(xlim = c(1.2, 2, 2.8)) +
facet_grid(cols=vars(approach))
【讨论】:
好; (我认为限制xlim = c(0, 4)
给出了操作想要的)以上是关于如何使用 ggplot_build 和 ggplot_gtable 调整 facet_grid 框架和箱线图之间的距离的主要内容,如果未能解决你的问题,请参考以下文章