# Re: [R] position of a legend-object

From: Marc Schwartz <MSchwartz_at_mn.rr.com>
Date: Fri 10 Jun 2005 - 03:22:46 EST

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

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Fri Jun 10 03:27:37 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:32:28 EST