[R] position of a legend-object
Marc Schwartz
MSchwartz at mn.rr.com
Thu Jun 9 19:22:46 CEST 2005
On Thu, 2005-06-09 at 19:05 +0200, Carsten Steinhoff wrote:
> Hello,
>
> I've written a function that plots a few functions in a diagram.
> The xlim and or ylim is not always the same, and set automatically by R.
> A legend is part of this object.
> Now the problem is: where to put the legend? Me would help a function that
> returns the limits and scaling of the axis.
>
> Thanks for your help.
>
> Carsten
You can explicitly set the xlim and ylim values in most plotting
functions. If your function is based upon an underlying R function, just
pass xlim and ylim as arguments from your function so that you can
"leave room" for a legend.
See ?plot.default for an example.
Alternatively, using par("usr") will get you the ranges of the axes once
a plot is created:
> plot(1:10)
# c(x1, x2, y1, y2)
> par("usr")
[1] 0.64 10.36 0.64 10.36
See ?par for more information. Note that if you might be using log
scaling on one or both axes, the output of par("usr") needs to be
adjusted:
> plot(1:10, log = "xy")
> par("usr")
[1] -0.04 1.04 -0.04 1.04
# Use this correction for both axes in this case
# or just:
# 10 ^ par("usr")[1:2] for x
# 10 ^ par("usr")[3:4] for y
> 10 ^ par("usr")
[1] 0.9120108 10.9647820 0.9120108 10.9647820
HTH,
Marc Schwartz
More information about the R-help
mailing list