[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