[Rd] reversing xlim, ylim in smoothScatter
Martin Maechler
maechler at stat.math.ethz.ch
Wed Apr 22 19:29:05 CEST 2009
>>>>> "SG" == Shashikiran Ganesh <shashikiran_ganesh at yahoo.co.in>
>>>>> on Wed, 22 Apr 2009 17:16:09 +0530 (IST) writes:
SG> Hello,
SG> I have found that in smoothScatter it is not possible to reverse the axes plotted (R version 2.9.0) . It appears that this arises from the hard coding of xlim and ylim in smoothscatter.R in the lines :
SG> x <- x[ xlim[1] <= x[,1] & x[,1] <=xlim[2], ] (line number 25)
SG> and
SG> x <- x[ ylim[1] <= x[,2] & x[,2] <= ylim[2], ] (line number 31)
SG> This results in a x being NA if ylim[1] > ylim[2] which results in an error on executing
SG> map <- grDevices:::.smoothScatterCalcDensity(x, nbin, bandwidth)
SG> To counter this problem, I replaced the above two lines by :
SG> x <-x [min(xlim) <= x[,1] & x[,1] <= max(xlim), ]
SG> and
SG> x <- x[min(ylim) <= x[,2] & x[,2] <= max(ylim), ]
SG> and now smoothscatter reverses axes properly if xlim and/or ylim are provided with reversed ranges.
SG> I am wondering if this would break something somewhere else or if there is a better way to reverse the axes. (I am a newbie in R programming although I have been using R for some astronomical plots and computations etc...)
No, I don't think your proposed change could create problems,
but to the contrary, I'd declare it as a simple bug fix,
so it will be part of the next versions of R,
thank you very much!
Martin Maechler, ETH Zurich
SG> Thanks in advance for your comments!
SG> Shashi
SG> --
SG> Shashikiran Ganesh
SG> http://www.prl.res.in/~shashi
SG> http://cosmicdiary.org/blogs/shashikiran_ganesh/
SG> Registered linux user number: 39542 (http://counter.li.org)
More information about the R-devel
mailing list