使用 grid.arrange 为使用 gridExtra::grid.arrange 制作的多个绘图添加标题

add title using grid.arrange for multiple plots made with gridExtra::grid.arrange

我必须使用 gridExtra::grid.arrange 来绘制除彼此之外的多个图,因为我正在使用包来创建适合图的包。 我必须使用 grid.arrange 为绘图创建标题。 现在我想把两者结合起来,但不知道怎么做。所以:我想绘制几个图形,并给它们一个不同的标题。

我有 euler1 和 euler2 在欧拉图中表示我的数据。 除了彼此之外,为了绘制 2 个地块,这段代码对我有用:

gridExtra::grid.arrange(plot(euler1),plot(euler2))

为了给单个情节命名,这段代码对我有用:

plot1 <- plot(euler1)
grid.arrange(grobs = list(plot1), top = "Title 1")

现在,我想合并这两个代码。 我该怎么做?

例如,我尝试了(但不起作用):

plot1 <- plot(euler1)
plot2 <- plot(euler2)
gridExtra::grid.arrange(plot1, plot2, grobs = list(plot1, plot2), top = list("Title 1","Title 2"))

亲切的问候, 朱迪思

通常你会自己给情节添加标题,如

p1 = ggplot() + ggtitle('plot 1')
p2 = ggplot() + ggtitle('plot 2')

grid.arrange(grobs = list(p1, p2), top = "Global Title", ncol=2)

但如果您更喜欢使用 grid.arrange 的 top 标题参数,您可以嵌套它们,

p = ggplot()
grid.arrange(arrangeGrob(p, top = 'title 1'), arrangeGrob(p, top = 'title 2'), top = "Global Title", ncol=2)

我想出了怎么做,因为在 plotmain 的使用已为 eulerr 包修复。现在我可以使用:

gridExtra::grid.arrange(plot(euler1, main = 'title1'),
plot(euler2, main = 'title2'))

感谢大家的反馈。