1

我有一个返回拼凑图的函数,我无法对其进行任何更改。我想rectGrob()在上面添加一个。当我尝试这样做时,我删除了两个图。

library(gridExtra)
library(patchwork)
library(ggplot2)

p1 <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point()
p2 <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width, color = Species)) + geom_point()
p3 <- ggplot(iris, aes(x = Sepal.Length, y = Sepal.Width), col = 'blue') + geom_point()

p <- p1 + p2 + p3

grob_top <-   grobTree(rectGrob(gp=gpar(fill='#F0F0F0',col= 'black')), textGrob('P1,P2, P3'))

grid.arrange(grob_top, p, heights = c(0.1, 0.9))
4

2 回答 2

2

使用patchwork::wrap_elements()效果比gridExtra::grid.arrange()

patchwork::wrap_elements(grob_top) / 
patchwork::wrap_elements(p) / 
patchwork::wrap_elements(p) + 
patchwork::plot_layout(ncol = 1, heights = c(0.1, 0.45, 0.45))
于 2020-05-08T09:27:56.793 回答
0

我想你想要:

grid.arrange(grob_top,
             p,
             nrow = 2,
             heights = c(0.1, 0.9))

在此处输入图像描述

于 2020-05-07T15:07:21.750 回答