On 6/26/2007 8:16 AM, [EMAIL PROTECTED] wrote: > Full_Name: Steve Ellison > Version: 2.4.1 > OS: Windows, Linux > Submission from: (NULL) (194.73.101.157)
That version is obsolete, but this problem is still present in R-devel. I'll take a look. Duncan Murdoch > > > bxp() allows specifcation of box locations with at=, but neither adjusts xlim= > to fit at nor does it respect xlim provided explicitly. > > This is because bxp() now includes explicit xlim as c(0.5, n+0.5), without > checking for explicitly supplied xlim (or ylim if horizontal). > > This also prevents simple added plots (eg if add=T, with at=(1:n)+0.5, the > last > box is partly off the plot. > > The 'offending' code is in bxp: > if (!add) { > plot.new() > if (horizontal) > plot.window(ylim = c(0.5, n + 0.5), xlim = ylim, > log = log, xaxs = pars$yaxs) > else plot.window(xlim = c(0.5, n + 0.5), ylim = ylim, > log = log, yaxs = pars$yaxs) > } > > Suggested fix: > if (!add) { > plot.new() > bxp.limits <- if(!is.null(at)) { > c(at[1]-(at[2]-at[1])/2, at[n]+(at[n]-at[n-1])/2 ) > } else { > c(0.5, n + 0.5) > } > if (horizontal) > plot.window(ylim = if(is.null(pars$xlim)) bxp.limits else > pars$xlim, > xlim = ylim, log = log, xaxs = pars$yaxs) > else plot.window(xlim = if(is.null(pars$xlim)) bxp.limits else > pars$xlim, > ylim = ylim, log = log, yaxs = pars$yaxs) > } > > > This retains the current defaults for xlim with at unspecified but allows > explicit specification of xlim. (which is the grouping level axis whether > horizontal or vertical). > > I've tested the above as far as producing a modified bxp and plotting a > boxplot > object, but have not tried calling direct from boxplot. boxplot() should, > however, not need modification as xlim and ylim are, I believe, passed via the > namedargs list in the bxp call. > > ______________________________________________ > 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