[Rd] stripchart() labels

Ross Ihaka ihaka@stat.auckland.ac.nz
Thu, 12 Jul 2001 09:16:20 +1200


Paul Murrell wrote:
> 
> Hi
> 
> > I propose to replace add a ... argument to stripchart(),
> > and to modiffy the following code fragment as shown.
> > [The only changes are the addition of ... arguments
> > in two calls to axis()]
> >
> > plot(xlim, ylim, type = "n", ann = FALSE, axes = FALSE)
> >      box()
> >      if (vertical) {
> >          if (n > 1)
> >              axis(1, at = 1:n, lab = names(groups), ...)  # ... argument
> added
> >          axis(2)
> >      }
> >      else {
> >          axis(1)
> >          if (n > 1)
> >              axis(2, at = 1:n, lab = names(groups), ...)  # ... argument
> added
> >      }
> >
> > Then one can do the following:
> >    data(PlantGrowth)
> >    attach(PlantGrowth)
> >    stripchart(weight~group, las=2)
> >
> > or
> >    stripchart(weight~group, vertical=TRUE, las=2)
> >
> > This is often the most effective way to deal with the problem
> > of overlapping labels, so that some labels do not appear.
> 
> We should probably also pass the "..." to the call(s) to points() so that
> you could do things like ...
> 
>     stripchart(weight~group, pch=21, col="blue", bg="lightblue")
> 
> ... and "..." should probably get passed to the call to title() too.

I'd like to suggest a slightly different way of doing this.
There should be a ... in the outer function, but it should be used as
follows.

	outerfun <- function(x, y, ...) {
		pars <- list(...)
		...
		points(x, y, pch = pars$pch, col = pars$col)
		...
		title(main = pars$main, xlab = pars$xlab)
	}

This allows to be explicit about which parameter values get dispatched
to which
graphics functions.

-- 
Ross Ihaka                         Email:  ihaka@stat.auckland.ac.nz
Department of Statistics           Phone:  (64-9) 373-7599 x 5054
University of Auckland             Fax:    (64-9) 373-7018
Private Bag 92019, Auckland
New Zealand
-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch
_._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._