[R] Programming Question (setting ylim generally)

stephen sefick ssefick at gmail.com
Fri Jan 9 16:26:34 CET 2009


WOW, I am not going to post after midnight.  Thank you for your
response, and this is what I settled on.

`plot.e` <- function(b, w, x, y, z){
a <- window.chron(b, w, x, y, z)
low <- min(a*0.98)-(min(a)*0.04)
high <- max(a*1.02)+(max(a)*0.04)
plot(a, ylim=c(low, high))
lines(a*0.98, col="blue")
lines(a*1.02, col="red")
}

On Fri, Jan 9, 2009 at 5:38 AM, Gavin Simpson <gavin.simpson at ucl.ac.uk> wrote:
> On Fri, 2009-01-09 at 00:22 -0500, stephen sefick wrote:
>> library(StreamMetabolism)
> <snip />
>> plot.e <- function(b, w, x, y, z){
>> a <- window.chron(b, w, x, y, z)
>> low <- min(b*0.98)+5
>> high <- max(b*1.02)+5
>> plot(a, ylim=c(low, high))
>> lines(a*0.98, col="blue")
>> lines(a*1.02, col="red")
>> }
>>
>> plot.e(day, "03/28/2007", "00:00:00", "03/28/2007", "23:46:00")
>>
>> why do the low and high objects not set the ylim of the plotting function?
>
> Err, they do. You are plotting 'a' which has (whilst debugging your
> plot.e() )
>
> Browse[1]> range(a)
> [1]  9.93 11.15
>
> You set the ylims to be (computed from 'b', why if plotting 'a'? and why
> is 'low' +5, should it be -5?):
>
> Browse[1]> low
> [1] 14.7314
> Browse[1]> high
> [1] 16.373
>
> And the plot I get has pretty labels/ticks that lie between 14.7 and
> 16.3, but as the plotted data lie outside the range of the y-axis you
> don't see anything.
>
> The figure is actually drawn with a bit of extra (4%) fudge on the x and
> y limits as that is how all R plot work by default due to parameters
> 'xaxs' and 'yaxs'. If you want them to be exactly 'low' and 'high' then
> setting yaxs="i" might help. See ?par
>
> I suspect your plot.e needs to be something like this:
>
> `plot.e` <- function(b, w, x, y, z){
> a <- window.chron(b, w, x, y, z)
> low <- min(a*0.98)-5
> high <- max(a*1.02)+5
> plot(a, ylim=c(low, high))
> lines(a*0.98, col="blue")
> lines(a*1.02, col="red")
> }
>
> So you are computing your ylims on a and you make low = foo - 5 not + 5.
> At least then the lines you are drawing are displayed on the figure
> region - the +/-5 in low and high seem a bit extreme, but that was what
> you had so...
>
> HTH
>
> G
>>
>> thanks
>>
> --
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>  Dr. Gavin Simpson             [t] +44 (0)20 7679 0522
>  ECRC, UCL Geography,          [f] +44 (0)20 7679 0565
>  Pearson Building,             [e] gavin.simpsonATNOSPAMucl.ac.uk
>  Gower Street, London          [w] http://www.ucl.ac.uk/~ucfagls/
>  UK. WC1E 6BT.                 [w] http://www.freshwaters.org.uk
> %~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%~%
>
>



-- 
Stephen Sefick

Let's not spend our time and resources thinking about things that are
so little or so large that all they really do for us is puff us up and
make us feel like gods.  We are mammals, and have not exhausted the
annoying little problems of being mammals.

								-K. Mullis




More information about the R-help mailing list