[R] Lattice: it seems, a bug in draw.key function
Deepayan Sarkar
deepayan at stat.wisc.edu
Fri May 20 16:18:01 CEST 2005
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
More information about the R-help
mailing list