Re: [Rd] I wish xlim=c(0, NA) would work. How about I send you a patch?

From: MacQueen, Don <>
Date: Wed, 18 Apr 2012 14:55:51 -0700

Another potential problem with the xlim=c(5,NA) type of approach is that if I am calculating the limits (as I often do) and have a bug in my calculation, such that I get an NA for one of the limits, then my plot would succeed rather than fail -- and succeed with hard to predict results. This will make it harder for me to discover my bug, I think.

Where this potential problem lies in a scale of "seriousness" relative to other potential problems ... I have no idea.


Don MacQueen

Lawrence Livermore National Laboratory
7000 East Ave., L-627
Livermore, CA 94550

On 4/16/12 12:15 PM, "Duncan Murdoch" <> wrote:

>On 12-04-16 2:26 PM, William Dunlap wrote:
>> 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}?
>I'd rather not add another parameter. So if I were to implement this,
>I'd probably choose Paul's original suggestion. If someone wants c(5,
>NA) to mean c(5, min(data)) rather than c(5, max(data)) they'd need to
>code it explicitly.
>Duncan Murdoch
>> Bill Dunlap
>> Spotfire, TIBCO Software
>> wdunlap
>>> -----Original Message-----
>>> From:
>>>[] 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
>>> - 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[ ]<- nxlim[ ]
>>>> Who is the responsible party for plot.default. How about it?
>>>> Think of how much happier users would be!
>>>> pj
>>> ______________________________________________
>>> mailing list
> mailing list
______________________________________________ mailing list
Received on Thu 19 Apr 2012 - 10:27:06 GMT

This quarter's messages: by month, or sorted: [ by date ] [ by thread ] [ by subject ] [ by author ]

All messages

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 19 Apr 2012 - 12:30:47 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive