[R] asp and ylim
Rolf Turner
r.turner at auckland.ac.nz
Sun Jul 20 23:00:43 CEST 2008
On 21/07/2008, at 5:27 AM, David Epstein wrote:
> #See David Williams' book "Weighing the odds", p286
>
> y <- c(1.21, 0.51, 0.14, 1.62, -0.8,
> 0.72, -1.71, 0.84, 0.02, -0.12)
> ybar <- mean(y)
> ylength <- length(y)
> ybarv <- rep(ybar, ylength)
> x <- 1:ylength
> plot(x,y,asp=1,xlab="position",ylab="ybar",type="n",ylim=c(-1,1))
> segments(x[1], ybar, x[ylength], ybar)
> segments(x,ybarv,x,y)
> points(x, ybarv, pch=21, bg="white")
> points(x,y,pch=19,col="black")
>
> With asp=1, the value of ylim seems to be totally ignored, as in
> the above code. With asp not set, R plays close attention to the
> value of ylim. This is not intuitive behaviour, or is it?
>
> How can I set the aspect ratio, and simultaneously set the plot
> region? The aspect ratio is one number and the plot region is given
> by four numbers (xleft, xright, yleft, yright). Logically, these 5
> numbers are independent of each other and arbitrary, provided
> xleft<xright and yleft<yright. This should give a one-to-one
> bijection between 5-tuples and plots, determined up to a change of
> scale that is uniform in the x- and y-dirctions. My code above
> shows the (to me) obvious attempt, which fails.
I just tried
> set.seed(42)
> x <- runif(10)
> y <- runif(10)
> plot(x,y,ylim=c(-1,2),asp=1)
and it seemed to give results as expected/desired.
cheers,
Rolf Turner
######################################################################
Attention:\ This e-mail message is privileged and confid...{{dropped:9}}
More information about the R-help
mailing list