Re: [R] Lattice: it seems, a bug in draw.key function

From: Deepayan Sarkar <>
Date: Sat 21 May 2005 - 00:18:01 EST

On Friday 20 May 2005 07:05 am, Wladimir Eremeev wrote:
> Dear r-help,
> Now I am drawing graphs with xyplot function.
> In order to place a legend under the plots I use the key argument in
> the xyplot function.
> One of the 'key' components is 'divide', which defines a number of
> points on the each line of the legend. The default is 3 points.
> I would like a single point, so I set divide = 1.
> Call to xyplot didn't produce any points at all.
> The body of draw.key function contains the following
> pointsGrob(x=(1:key$divide-1)/(key$divide-1), y=rep(0.5,key$divide),
> [skip]
> )
> When key$divide=1, x is NaN...

There's certainly a problem (at least one of omission in the documentation), but I'm not sure what the best way to resolve it would be. This is what currently happens on S-PLUS (6.0) and R:

divide = 3: o--o--o S-PLUS/R
divide = 2: o-----o S-PLUS/R

divide = 1:     o     S-PLUS
             -------  R

The difference in the 'divide = 1' case was not intentional, I just never checked it.

Possible `solutions' are:

  1. keep things as they are and clarify the documentation (namely, saying that 'divide' has to be greater than 1 to make sense)
  2. change it to behave like S-PLUS (but that seems silly, since one might then just as well use 'points' instead of 'lines')
  3. do something else entirely, like ---o--- . This is not attractive from a programmers point of view because it makes 'divide = 1' behave inconsistently with other values of 'divide'.

I'm open to suggestions.

Deepayan mailing list PLEASE do read the posting guide! Received on Sat May 21 00:31:06 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:31:57 EST