如何在森林地块中添加箭头?

时间:2014-11-03 18:32:06

标签: r plot

我会在森林情节中添加两个箭头,以便将纸张送到期刊。以下是metafor::forest的演示图:

require(metafor)
data(dat.bcg)
res <- rma(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg,
           slab=paste(author, year, sep=", "))
forest(res, cex=.8, order=order(dat.bcg$ablat), addfit=F)

我想要的是沿x轴添加两个箭头,如(红色框中): enter image description here

有人知道怎么做吗?

1 个答案:

答案 0 :(得分:2)

一个想法是使用layout将图分成2部分,并用新图替换x轴标签。

enter image description here

## define the layout matrix  
## 2 rows and 3 columns , the rectangle will be in the cell(2,2)
layout(matrix(c(1,1,1,0,2,0), 2, 3, byrow = TRUE),
       heights=c(3,1),widths=c(1,2,1))
## define the margin since the default ones are usually not enough
par(mar = rep(2, 4))

## your plot here 
data(dat.bcg)
res <- rma(measure="RR", ai=tpos, bi=tneg, ci=cpos, di=cneg, data=dat.bcg,
           slab=paste(author, year, sep=", "))
forest(res, cex=.8, order=order(dat.bcg$ablat), addfit=F,xlab='')

## here all the job 
x <- y <- 2:8 
## dummy plot to define scales
plot(x,y,type='n',axes=F,xlab='',ylab='')
## rectangle
rect(2,4,8,8,border='red')
## arrows
arrows(5.5,6,7,6)
arrows(4.5,6,3,6)
text(6,6,'A better',adj=c(0,1.5),col='blue')
text(3.5,6,'B better',adj=c(0,1.5),col='green')
## x label
text(5,3,'Risk Difference',cex=2)