我正在绘制如下图表。我用来生成图例的代码是
legend(4, 20, c("Placebo", "Progabide"), lty=1:2, pch=c(1,16), col=1:2, cex=0.8)
问题是内边距(垂直方向)太大而我想减少它。我想缩小内部边缘的另一种方法是减少" cex"进一步。但随后盒子里的文字也会变小。有没有办法减少盒子但不减少其内容。
答案 0 :(得分:9)
这是一个如何使用rect
执行此操作的示例,如@jbaums所述。通过使用默认图例的rect信息,您可以确保框位置正确。
plot(x=1:10,y=1:10+rnorm(10), ylim=c(0,11))
# draw default box and store size of default rect in 'a'
# disable this default rect by adding plot=F to legend()
a=legend(x=1,y=9, c("old box", "new box"), lty=1, col=2:1, cex=0.8, y.intersp=0.8,box.col=2)#,plot=F)
# box size reduced by factor 0.75
a=a$rect
mid = a$top - 0.5*a$h
reduction = 0.75
# draw new box
rect(xleft=a$left, ytop=mid+0.5*reduction*a$h, xright=a$left+a$w, ybottom=mid-0.5*reduction*a$h)
# add legend items to new box
legend(x=1,y=9, c("old box", "new box"), lty=1, col=2:1, cex=0.8, y.intersp=0.8, bty='n')