1

我使用cowplot包制作了一个 grob 对象。我正在将对象添加grid.lines()grid.text()已完成的 grob 中,但由于它来自 cowplot,它会填满整个页面。如何调整 grob 对象的边距以在边缘周围添加一些空白?下面的示例代码。

library(ggplot2)
library(cowplot)

p1 <- ggplot(mtcars, aes(disp, mpg)) + 
  geom_point()
p2 <- ggplot(mtcars, aes(qsec, mpg)) +
  geom_point()
p3 <- ggplot(mtcars, aes(disp, mpg)) + 
  geom_point()
p4 <- ggplot(mtcars, aes(qsec, mpg)) +
  geom_point()
plot_grid(p1, p2, p3, p4, ncol = 2 ,nrow = 2,align="hv")
4

1 回答 1

2

您只需theme(plot.margin = ...)像在 ggplot 中一样使用:

library(ggplot2)
library(cowplot)

p1 <- ggplot(mtcars, aes(disp, mpg)) + 
  geom_point()
p2 <- ggplot(mtcars, aes(qsec, mpg)) +
  geom_point()
p3 <- ggplot(mtcars, aes(disp, mpg)) + 
  geom_point()
p4 <- ggplot(mtcars, aes(qsec, mpg)) +
  geom_point()
plot_grid(p1, p2, p3, p4, ncol = 2 ,nrow = 2,align="hv")


plot_grid(p1, p2, p3, p4, ncol = 2 ,nrow = 2,align="hv") + 
  theme(plot.margin = unit(c(20,20,20,20), "points"))

reprex 包(v0.3.0)于 2020-04-29 创建

于 2020-04-29T19:24:59.463 回答