4

我有两个地块并排排列gridExtra::grid.arrangetop我可以用参数在它们上面加上一个标题。问题是,我被要求在情节的左上角找到标题。

一个可重现的例子:

library(ggplot2)
library(gridExtra)

p1 <- qplot(1:20)
p2 <- qplot(30, 35)
grid.arrange(p1, p2, nrow = 1, top = "Title")

产生

在此处输入图像描述

但我需要的是:

在此处输入图像描述

我多次阅读该?arrangeGrob文件(我认为这是我的答案),但还没有弄清楚如何实现它。

4

2 回答 2

12

使用顶部参数:

grid.arrange(p1, p2, nrow = 1, top = grid::textGrob("Title", x = 0, hjust = 0))

在此处输入图像描述

于 2018-04-06T08:15:20.313 回答
3

patchwork是一种 gr​​idExtra 替代方案,它的行为更像 ggplot 而不是 grid,包括它如何plot_annotate处理标题:

library(ggplot2)
library(patchwork)

qplot(1:20) + qplot(30, 35) + plot_annotation(title = 'Title')

如果你想进一步调整它,它的theme参数接受一个 ggplottheme调用。

于 2018-04-06T05:08:15.137 回答