R 获取plot()边界框值
我正在生成许多带有R 获取plot()边界框值,r,R,我正在生成许多带有xlim和ylim值的绘图,这些值是我在每个绘图的基础上计算的。我想把我的图例放在绘图区域之外(就在实际绘图框的上方),但我不知道如何获得绘图区域框的最大y值 有没有办法做到这一点?通过手动更改legend()x和y值,我可以将图例移动到需要的位置,但这需要很长时间才能创建大量的图形 谢谢 -JMpar()的oma、omd和omi参数控制绘图的边界和边距-可以使用par()$omd(等)查询它们。并使用par(oma=c())(如果需要)进行设置(其中向量最多可以有4个值-请参
xlim
和ylim
值的绘图,这些值是我在每个绘图的基础上计算的。我想把我的图例放在绘图区域之外(就在实际绘图框的上方),但我不知道如何获得绘图区域框的最大y值
有没有办法做到这一点?通过手动更改legend()
x和y值,我可以将图例移动到需要的位置,但这需要很长时间才能创建大量的图形
谢谢
-JMpar()的oma、omd和omi参数控制绘图的边界和边距-可以使用
par()$omd
(等)查询它们。并使用par(oma=c())
(如果需要)进行设置(其中向量最多可以有4个值-请参见?par)以下是一个基本示例,说明了我认为您正在使用?legend
中的一个代码示例寻找的内容
#Construct some data and start the plot
x <- 0:64/64
y <- sin(3*pi*x)
plot(x, y, type="l", col="blue")
points(x, y, pch=21, bg="white")
#Grab the plotting region dimensions
rng <- par("usr")
#Call your legend with plot = FALSE to get its dimensions
lg <- legend(rng[1],rng[2], "sin(c x)", pch=21,
pt.bg="white", lty=1, col = "blue",plot = FALSE)
#Once you have the dimensions in lg, use them to adjust
# the legend position
#Note the use of xpd = NA to allow plotting outside plotting region
legend(rng[1],rng[4] + lg$rect$h, "sin(c x)", pch=21,
pt.bg="white", lty=1, col = "blue",plot = TRUE, xpd = NA)
#构造一些数据并开始绘图
x命令par('usr')
将返回边界框的坐标,但您也可以使用grconvertX
和grconvertY
函数。一个简单的例子:
plot(1:10)
par(xpd=NA)
legend(par('usr')[1], par('usr')[4], yjust=0, legend='anything', pch=1)
legend( grconvertX(1, from='npc'), grconvertY(1, from='npc'), yjust=0,
xjust=1, legend='something', lty=1)
尝试查看?par
和usr
参数。是否使用ggplot
进行绘图?如果您向我们展示一些示例代码和图形,可能有助于理解您想要的内容。par(“omd”)
将是检索命名参数的更标准的方法。谢谢!这正是我需要的!