我正在使用 grid 包来显示一组图,如下所示:
layout <- grid.layout(2, 4)
pushViewport(viewport(layout = layout))
# print various plots
有没有办法为整个网格布局指定一个标题?
我正在使用 grid 包来显示一组图,如下所示:
layout <- grid.layout(2, 4)
pushViewport(viewport(layout = layout))
# print various plots
有没有办法为整个网格布局指定一个标题?
另一种方式:
library(gridExtra)
g = rectGrob() # dummy "plot"
grid.arrange(g, g, g, g, ncol=2, top = "Main Title")
基于类似 SO 问题的虚拟示例:Place title of multiplot panel with ggplot2
首先创建一个具有所需行数 + 1 个短标题的布局:
pushViewport(viewport(layout = grid.layout(3, 2, heights = unit(c(0.5, 5, 5), "null"))))
在那里创建一些图:
print(ggplot(mtcars, aes(hp)) + geom_histogram(), vp = viewport(layout.pos.row = 2, layout.pos.col = 1:2))
print(ggplot(mtcars, aes(wt)) + geom_histogram(), vp = viewport(layout.pos.row = 3, layout.pos.col = 1))
print(ggplot(mtcars, aes(mpg)) + geom_histogram(), vp = viewport(layout.pos.row = 3, layout.pos.col = 2))
在第一行添加标题:
grid.text("MAIN TITLE", vp = viewport(layout.pos.row = 1, layout.pos.col = 1:2))
导致: