使用边距/填充自动放置图例框

时间:2013-07-10 01:30:27

标签: r plot legend

我正在尝试自动在图中放置一个图例框,但我仍然遇到麻烦。我想将图例框放在靠近图的角落,但填充/边距较小。

使用预定义的位置,例如"topright""bottomleft",将图例放置在图的边界附近/,如here; 而且我发现如果继续逐像素地尝试到达盒子的漂亮位置,我会感到非常沮丧,如here所示。

我想知道是否还有根据绘图本身的宽度定位图例框,而不是max/min值。将自动定位关于p%的图例靠近定义的角落的东西。无论如何在R中这样做?或者甚至可以在预定位置添加一些填充?

1 个答案:

答案 0 :(得分:12)

使用inset=

legend选项
  

插图:从边距插入距离(图)的一部分             通过关键字放置图例时的区域。

E.g:

plot(1:10)
legend("topleft","blah",inset=0.05)

如果你想确保图例与角落的距离相同,取决​​于你的情节的x:y比例,你可以做一些更复杂的事情,如:

plot(1:10)
xyratio <- do.call("/",as.list(par("pin")))
inset.amount <- 0.05
legend("topleft","blah",inset=c(inset.amount,inset.amount * xyratio))

但是当您调整绘图设备的大小时,这将会崩溃。

enter image description here