On Mon, Apr 16, 2012 at 4:29 PM, baptiste auguie <baptiste.aug...@googlemail.com> wrote: > Hi, > > Using range wouldn't help if you wanted to restrict one of the limits, > not stretch it > > plot(1:11, y <- seq(-5, 5), ylim= range(0, y))
range(pmin(0,y)) Kasper > > baptiste > > On 17 April 2012 08:20, Greg Snow <538...@gmail.com> wrote: >> The simple work around is to use the range function, if you use >> something like: xlim=range(0,x) then 0 will be included in the range >> of the x axis (and if there are values less than 0 then those values >> will be included as well) and the max is computed from the data as >> usual. The range function will also accept multiple vectors and make >> the range big enough to include all of them on the plot (this is what >> I use when I will be adding additional information using points or >> lines). >> >> With this functionality in range I don't really see much need for the >> proposed change, maybe an example on the plot help page to show this >> would suffice. >> >> On Mon, Apr 16, 2012 at 11:52 AM, Paul Johnson <pauljoh...@gmail.com> wrote: >>> I'm looking for an R mentor. I want to propose a change in management >>> of plot options xlim and ylim. >>> >>> Did you ever want to change one coordinate in xlim or ylim? It happens >>> to me all the time. >>> >>> x <- rnorm(100, m=5, s=1) >>> y <- rnorm(100, m=6, s=1) >>> plot(x,y) >>> >>> ## Oh, I want the "y axis" to show above x=0. >>> >>> plot(x,y, xlim=c(0, )) >>> >>> ##Output: Error in c(0, ) : argument 2 is empty >>> >>> plot(x,y, xlim=c(0,NA )) >>> ## Output: Error in plot.window(...) : need finite 'xlim' values >>> >>> >>> I wish that plot would let me supply just the min (or max) and then >>> calculate the other value where needed. >>> It is a little bit tedious for the user to do that for herself. The >>> user must be knowledgeable enough to know where the maximum (MAX) is >>> supposed to be, and then supply xlim=c(0, MAX). I can't see any reason >>> for insisting users have that deeper understanding of how R calculates >>> ranges for plots. >>> >>> Suppose the user is allowed to supply NA to signal R should fill in the >>> blanks. >>> >>> plot(x,y, xlim=c(0, NA)) >>> >>> >>> In plot.default now, I find this code to manage xlim >>> >>> xlim <- if (is.null(xlim)) >>> range(xy$x[is.finite(xy$x)]) >>> >>> And I would change it to be something like >>> ##get default range >>> nxlim <- range(xy$x[is.finite(xy$x)]) >>> >>> ## if xlim is NULL, so same as current >>> xlim <- if (is.null(xlim)) nxlim >>> ## Otherwise, replace NAs in xlim with values from nxlim >>> else xlim[ is.na(xlim) ] <- nxlim[ is.na(xlim) ] >>> >>> >>> Who is the responsible party for plot.default. How about it? >>> >>> Think of how much happier users would be! >>> >>> pj >>> -- >>> Paul E. Johnson >>> Professor, Political Science Assoc. Director >>> 1541 Lilac Lane, Room 504 Center for Research Methods >>> University of Kansas University of Kansas >>> http://pj.freefaculty.org http://quant.ku.edu >>> >>> ______________________________________________ >>> R-devel@r-project.org mailing list >>> https://stat.ethz.ch/mailman/listinfo/r-devel >> >> >> >> -- >> Gregory (Greg) L. Snow Ph.D. >> 538...@gmail.com >> >> ______________________________________________ >> R-devel@r-project.org mailing list >> https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel