8

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

使用预定义的位置,如"topright""bottomleft",将图例放置得太近/靠近绘图的边界,如这里;而且我发现继续逐个像素地尝试以达到盒子的良好位置令人惊讶,如图所示

我想知道是否有办法根据绘图本身的宽度而不是max/min值来定位图例框。会自动将图例定位在p%定义的角落附近的东西。无论如何在R中这样做?甚至是向预定义位置添加一些填充的方法?

4

1 回答 1

13

使用该inset=选项legend

插入:当通过关键字放置图例时,距边缘的插入距离作为绘图区域的一部分。

例如:

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))

但是,当您调整绘图设备的大小时,这将分崩离析。

在此处输入图像描述

于 2013-07-10T01:37:21.010 回答