The par('usr') command will return the bounding box coordinates, but you can also use the grconvertX and grconvertY . A simple example:
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)
source share