[Rd] "open-ended" plot limits?

Greg Snow Greg.Snow at imail.org
Thu Feb 5 22:40:28 CET 2009


Or use range( 0, y1, y2, y3, na.rm=TRUE, finite=TRUE )

-- 
Gregory (Greg) L. Snow Ph.D.
Statistical Data Center
Intermountain Healthcare
greg.snow at imail.org
801.408.8111


> -----Original Message-----
> From: William Dunlap [mailto:wdunlap at tibco.com]
> Sent: Thursday, February 05, 2009 2:38 PM
> To: Greg Snow; marc_schwartz at comcast.net; ted.harding at manchester.ac.uk
> Cc: R-Devel
> Subject: RE: [Rd] "open-ended" plot limits?
> 
> 
> > -----Original Message-----
> > From: r-devel-bounces at r-project.org
> > [mailto:r-devel-bounces at r-project.org] On Behalf Of Greg Snow
> > Sent: Thursday, February 05, 2009 1:15 PM
> > To: marc_schwartz at comcast.net; ted.harding at manchester.ac.uk
> > Cc: R-Devel
> > Subject: Re: [Rd] "open-ended" plot limits?
> >
> > I use range( 0, y ) rather than c(0, max(y)), that way if
> > there are any y values less than 0, the limits still include
> > them (and it is slightly shorter :-).
> 
> To mimic what plot does by default you must ignore the NA's
> and Inf's in y with something like
>    range(0,y[is.finite(y)])
> It might be nice to have an na.rm-like argument for ignoring
> the Inf's - it gets tedious to write
>    range(0, y1[!is.finite(y1)], y2[!is.finite(y2)], ...)
> Also, when you get into really long vectors the explicit subscripting
> can run you out of memory.
> 
> Bill Dunlap
> TIBCO Software Inc - Spotfire Division
> wdunlap tibco.com
> 
> >
> > This also extends to cases where you may know that you will
> > be adding additional data using points or lines, so you can
> > do ylim=range(0, y1, y2, y3) and it will give enough room to
> > add the other y variables in latter.
> >
> > Hope this helps,
> >
> > --
> > Gregory (Greg) L. Snow Ph.D.
> > Statistical Data Center
> > Intermountain Healthcare
> > greg.snow at imail.org
> > 801.408.8111
> >
> >
> > > -----Original Message-----
> > > From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-
> > > project.org] On Behalf Of Marc Schwartz
> > > Sent: Thursday, February 05, 2009 1:57 PM
> > > To: ted.harding at manchester.ac.uk
> > > Cc: R-Devel
> > > Subject: Re: [Rd] "open-ended" plot limits?
> > >
> > > on 02/05/2009 02:48 PM (Ted Harding) wrote:
> > > > Hi Folks,
> > > > Maybe I've missed it already being available somehow,
> > > > but if the following isn't available I'd like to suggest it.
> > > >
> > > > If you're happy to let plot() choose its own limits,
> > > > then of course plot(x,y) will do it.
> > > >
> > > > If you know what limits you want, then
> > > >   plot(x,y,xlim=c(x0,x1),ylim(y0,y1)
> > > > will do it.
> > > >
> > > > But sometimes one would like to
> > > > a) make sure that (e.g.) the y-axis has a lower limit (say) 0
> > > > b) let plot() choose the upper limit.
> > > >
> > > > In that case, something like
> > > >
> > > >   plot(x,y,ylim=c(0,NA))
> > > >
> > > > would be a natural way of specifying it. But of course that
> > > > does not work.
> > > >
> > > > I would like to suggest that this possibility should be
> available.
> > > > What do people think?
> > > >
> > > > Best wishes,
> > > > Ted.
> > >
> > > Ted,
> > >
> > > Unless I am mistaken in what you are looking for:
> > >
> > >   plot(x, y, ylim = c(0, max(y)))
> > >
> > > would seem do what you want. If otherwise unspecified, plot() uses
> > > range(y) to define 'ylim'.
> > >
> > > HTH,
> > >
> > > Marc Schwartz
> > >
> > > ______________________________________________
> > > R-devel at r-project.org mailing list
> > > https://stat.ethz.ch/mailman/listinfo/r-devel
> >
> > ______________________________________________
> > R-devel at r-project.org mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
> >



More information about the R-devel mailing list