From kasperdanielhansen at gmail.com  Mon Apr 16 22:43:15 2012
From: kasperdanielhansen at gmail.com (Kasper Daniel Hansen)
Date: Mon, 16 Apr 2012 16:43:15 -0400
Subject: [Rd] I wish xlim=c(0,
	NA) would work. How about I send you a patch?
In-Reply-To: <CANLFJPoS19HtDsfvqjScOXToUqRkUgOcaM6+wvRA-ZqkZ8QU4A@mail.gmail.com>
References: <CAErODj9RJ60Xdp=sLu=pGRiBOY_CSsxnjUmqObxhHYtEhHyLxA@mail.gmail.com>
	<CAFEqCdzg13nc_HvuKCA0xiS1F=YqKKvz4VKXn8_4cfqUmGABNg@mail.gmail.com>
	<CANLFJPoS19HtDsfvqjScOXToUqRkUgOcaM6+wvRA-ZqkZ8QU4A@mail.gmail.com>
Message-ID: <CAC2h7uu2f9+Sp=Hz-pj7hPCFRXQmBVm8x+CKJC6wg2iapZFkzg@mail.gmail.com>

On Mon, Apr 16, 2012 at 4:29 PM, baptiste auguie
<baptiste.auguie at 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 <538280 at 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 <pauljohn32 at 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 at r-project.org mailing list
>>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>>
>>
>> --
>> Gregory (Greg) L. Snow Ph.D.
>> 538280 at gmail.com
>>
>> ______________________________________________
>> 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



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