Удаление всего пространства между двумя ggplots в сочетании с grid.arrange
Я хочу придерживаться двух графиков без пробелов между темами (поэтому они имеют одну ось).
Дано:
p1 <- qplot(1,1,xlab="")
p1 <- p1 +
theme(legend.position="none",
axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
plot.margin=unit(c(1,1,0,1), "cm"),
panel.margin=unit(c(1,1,0,1), "cm"))
p2 <- qplot(1,2)
grid.arrange(p1,p2)
Что производит:
![enter image description here]()
Я хочу исключить пробел между двумя графиками.
У меня есть впечатляющая высота настройки, как это было сделано для ширины в: левый выравнивать два графа графа (ggplot) - это решение, но не может понять это из.
Ответы
Ответ 1
Вы должны указать plot.margin
для обоих графиков и установить отрицательное значение для нижнего поля для p1 и верхнего поля для p2. Это обеспечит объединение обоих графиков.
p1 <- qplot(1,1,xlab="")+
theme(legend.position="none",
axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
plot.margin=unit(c(1,1,-0.5,1), "cm"))
p2 <- qplot(1,2)+
theme(legend.position="none",
plot.margin=unit(c(-0.5,1,1,1), "cm"))
grid.arrange(p1,p2)
![enter image description here]()
Ответ 2
попробовать
+ labs(x=NULL)
ИЛИ
+ labs(x=NULL, y=NULL)
чтобы удалить левый и нижний поля вокруг графиков (p1, p2), прежде чем использовать grid.arrange
p1 <- qplot(1,1)+
theme_bw() +
theme(axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
plot.margin = rep(unit(0,"null"),4),
panel.margin = unit(0,"null"),
axis.ticks.length = unit(0,"null"),
axis.ticks.margin = unit(0,"null")) +
labs(x=NULL)
p2 <- qplot(1,2)+
theme_bw() +
theme(
plot.margin = rep(unit(0,"null"),4),
panel.margin = unit(0,"null"),
axis.ticks.length = unit(0,"null"),
axis.ticks.margin = unit(0,"null"))
grid.arrange(p1,p2)