Как отрегулировать расстояние между рамкой facet_grid и коробочками с помощью ggplot_build & ggplot_gtable - PullRequest
1 голос
/ 06 апреля 2019

Мы представляем данные о результатах, используя коробочные диаграммы, и группируем их для различных подходов, используя facet_grid с ggplot2 и geom_boxplot.

Мы хотели бы добавить больше пространства между коробочными диаграммами и рамкой грани 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 Ответ

2 голосов
/ 06 апреля 2019
ggplot(dat, aes(x =product, y = value)) +
  geom_boxplot() + 
  coord_cartesian(xlim = c(1.2, 2, 2.8)) +
  facet_grid(cols=vars(approach))
...