首页 > 解决方案 > 使用 grid.arrange 为使用 gridExtra::grid.arrange 制作的多个绘图添加标题

问题描述

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

我有 euler1 和 euler2 适合 tat 代表我在欧拉图中的数据。为了在彼此旁边绘制 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"))

亲切的问候,朱迪思

标签: gridgridextra

解决方案


通常,您会为情节本身添加标题,如

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)

推荐阅读