как избавиться от случайной фоновой сетки из arrangeGrob
Мне нужно обернуть несколько участков в сетку, часто с неравномерным числом, поэтому часто будет "пустое место".
Мне нужно использовать arrangeGrob()
- Не grid.arrange()
- потому что я хочу сохранить сюжет на потом, а не plot()
сразу.
Это прекрасно работает, но, как ни странно, arrangeGrob()
оставляет какой-то странный фон в пустых местах.
Вот так:
library(ggplot2)
p1 <- ggplot(mtcars, aes(x=factor(cyl), y=mpg)) + geom_boxplot()
p2 <- ggplot(mtcars, aes(x=factor(cyl), y=wt)) + geom_boxplot()
p3 <- ggplot(mtcars, aes(x =factor(cyl), y=disp)) + geom_boxplot()
library(gridExtra)
y <- arrangeGrob(p1, p2, p3, ncol = 2)
plot(y)
Дает сюжет с каким-то странным серым веществом в правом нижнем углу:
Сравните это с grid.arrange()
:
grid.arrange(p1, p2, p3, ncol = 2)
Дает красивый сюжет без серых странностей:
Откуда берется это серое вещество в правом нижнем углу? И как мне от него избавиться?
Обратите внимание, что я не могу избежать пустых мест, изменяяncol
; у меня иногда есть неравномерное количество участков, поэтому всегда будут пустые места.
Я в порядке с пустыми местами, мне просто нравится, чтобы они были чистыми.
(В изоляции это последнее предложение звучит довольно красиво ОКР-иш .
Обновить
Автор пакета (?) ответ ниже: я должен был использовать grid.draw(y)
.
Аналогичная проблема остается (может быть, та же самая первопричина?): если вы строите некоторый объект раньше, "пустое место" остается занятым этимпрошлым сюжетом. Странный. Вот так:
plot(p1)
grid.draw(y)
Выходы: