如果我在一个面板中有几个图,我希望能够放置跨越多个绘图区域或在绘图区域之间的文本注释.我敢肯定必须有办法做到这一点,但我需要一些帮助来弄清楚如何做.
这里有一些假数据可以在一个面板上创建四个图:
x1 = rnorm(100)
x2 = rnorm(100)
x3 = rnorm(100)
x4 = rnorm(100)
par(mfrow=c(2,2))
hist(x1, xlab="", main="Group A")
hist(x2, xlab="", main="Group B")
hist(x3, xlab="", main="")
hist(x4, xlab="", main="")
Run Code Online (Sandbox Code Playgroud)
这将创建下面的多绘图面板,除了我还添加了红色文本.我在R中创建图形面板后,通过注释PDF文件添加了红色文本,然后将其另存为PDF.我想学习的是如何在R中以编程方式注释图形面板,而不是必须保存它并注释保存的文件.
通常,我只想使用text()或添加注释mtext().但这只有在您注释单个图表时才有效.有没有办法相对于4个图形的整个面板的坐标添加注释?我正在寻找基础图形的解决方案,但如果有人知道如何在ggplot2或格子中做类似的事情,我也有兴趣看到它.

jor*_*ran 11
如果您真的想要更好地控制这些类型的布局问题,可以使用恰当命名的layout.
m <- matrix(c(1,2,3,3,4,5,6,6),ncol = 2,byrow = TRUE)
layout(m,widths = c(0.5,0.5),heights = c(0.45,0.05,0.45,0.05))
par(mar = c(2,4,4,2) + 0.1)
hist(x1, xlab="", main="Group A")
hist(x2, xlab="", main="Group B")
par(mar = c(0,0,0,0))
plot(1,1,type = "n",frame.plot = FALSE,axes = FALSE)
u <- par("usr")
text(1,u[4],labels = "Here",col = "red",pos = 1)
par(mar = c(2,4,2,2) + 0.1)
hist(x3, xlab="", main="")
hist(x4, xlab="", main="")
par(mar = c(0,0,0,0))
plot(1,1,type = "n",frame.plot = FALSE,axes = FALSE)
u <- par("usr")
text(1,u[4],labels = "Here",col = "red",pos = 1)
Run Code Online (Sandbox Code Playgroud)

你想mtext用outer=TRUE.例如,mtext('Results2', side=1, line=-2, outer=TRUE)和mtext('Results1', side=3, line=-20, outer=TRUE).