[R] Plotting with exact axis limits

Duncan Murdoch murdoch at stats.uwo.ca
Tue Apr 15 02:09:53 CEST 2008


On 14/04/2008 6:56 PM, Enrico Rossi wrote:
> Hello,
> 
> If I make a plot, say something simple like
> 
> plot( runif(100) )
> 
> then the origin (0,0) is not at the bottom-left corner of the box
> surrounding the plot. The axis limits are "padded" slightly. This is
> ordinarily a good feature, because it makes plots look better. But now I
> would like to make a plot with the origin exactly on the bottom left.
> Through trial and error, I have discovered that this padding is
> approximately 3.8% of the axis length. That is,
> 
> plot( runif(100), ylim=c(.038,1), xlim=c(3.8,100))
> 
> gives the desired result. However, this seems like a rather inelegant hack.
> Is there a "correct" way to do this?

plot(runif(100), yaxs='i', xaxs='i', ylim=c(0,1), xlim=c(0, 100))

is the "correct" way.  yaxs and xaxs are documented in ?par.

The only problem with this is that it may be too tight at the upper 
limits, because you can't ask to expand at the top but not at the bottom.

Duncan Murdoch



More information about the R-help mailing list