plot(1:10, xlim=c(10,1)) reverses the x axis. If we allow plot(1:10, xlim=c(5,NA)), which direction should it go? Would this require new parameters, {x,y}{min,max} or new paremeters {x,y}{axisDirection}?
Bill Dunlap Spotfire, TIBCO Software wdunlap tibco.com > -----Original Message----- > From: r-devel-boun...@r-project.org [mailto:r-devel-boun...@r-project.org] On > Behalf > Of Duncan Murdoch > Sent: Monday, April 16, 2012 11:14 AM > To: Paul Johnson > Cc: R Devel List > Subject: Re: [Rd] I wish xlim=c(0, NA) would work. How about I send you a > patch? > > On 12-04-16 1:52 PM, Paul Johnson wrote: > > I'm looking for an R mentor. I want to propose a change in management > > of plot options xlim and ylim. > > Your suggestion sounds reasonable, but because plot limits are such a > commonly used parameter, it would have to be done quite carefully. The > questions I'd ask before implementing it are: > > - Are there other locations besides plot.default where xlim and ylim > are specified? I'd like to have them updated consistently. > > - Are there any conflicting uses of NA for a limit in published packages? > > - Which package authors would need to be told about this change, so > they could make a compatible change? > > - Where does it need to be documented? > > Duncan Murdoch > > > > > 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 > > ______________________________________________ > 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