# Re: [R] asp and ylim

From: Prof Brian Ripley <ripley_at_stats.ox.ac.uk>
Date: Sun, 20 Jul 2008 23:14:43 +0100 (BST)

You last para forgets that once you have set the device region and the margins the physical plot region and hence its aspect ratio is determined -- see the figures in 'An Introduction to R'.

On Sun, 20 Jul 2008, 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.
>
> Thanks
> David
>
> ______________________________________________
> R-help_at_r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> and provide commented, minimal, self-contained, reproducible code.

```--
Brian D. Ripley,                  ripley_at_stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help_at_r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help