[Rd] Small change to plot.xy

Jonathan Rougier J.C.Rougier@durham.ac.uk
Sat, 23 Nov 2002 10:05:36 +0000

ripley@stats.ox.ac.uk wrote:
> On Sat, 23 Nov 2002, Jonathan Rougier wrote:
> > OK -- so there are two objections to the proposal:
> >
> > 1) The factor might be a colour specifier
> >
> > 2) Using codes is not a good idea because there are only 8 colours
> > available for an integer argument to col.
> You seem not to appreciate
> 0) You used codes when you should have used unclass!
> which was made twice.  Please do make sure you understand the difference.

You are right -- I can see from the help page of codes that I should
have used unclass.

> > I can see that both of these have merit, but I think they are both easy
> > to work around, if necessary.  No-one has disagreed that it's natural to
> > want to pass a factor to col, and I believe that the vast majority of
> > times when this occurs the factor is not designed explicitly to paint
> > the points.
> I did disagree.  I don't see why users should not explicitly map the
> factor levels to colours, which takes only a few extra characters.
> People have been doing this for a decade in S without objecting.
> Why is it worth complicating R for?

That's the difference between us: you think they should have to type a
few extra characters to achieve a natural result, and I don't.  It's two
extra lines in the source and an extra line in the help file -- I don't
call this a complication and I think that the next generation of
statisticians will be that much more taken with R (as opposed to, say,
SPSS) if we take the trouble to make the default behaviour as intuitive
as possible.

> > I think I would let the first objection pass.  Using codes to coerce the
> > factor we still get different colours for different factors, just not
> > the specified colours.  This is not right, but it's rarely a disaster
> > either and should be easy to spot for anyone who is expecting to see
> > "slateblue" and gets "red".
> >
> > As for the second objection, I think this is valid and should be
> > addressed, but at the same time it is a different problem.  I often
> > wondered why col = 1 was black (not really a colour at all, and not very
> > good for boxplots) and, more pertinently, why col = 2 is red and col = 3
> > is green: isn't the most common form of colour-blindness red/green?  At
> > the very least, let's not have them next to each other in the list!  We
> > have 657 named colours to choose from: why not have a explicit "int2col"
> > function that provides a bigger and better table?
> Not all devices (by any means) can display those colours, or only a
> limited number of colours in total.

That doesn't stop us coming up with a longer list in a better order,
does it?


Jonathan Rougier                       Science Laboratories
Department of Mathematical Sciences    South Road
University of Durham                   Durham DH1 3LE
tel: +44 (0)191 374 2361, fax: +44 (0)191 374 7388