Dear Duncan,
Many thanks for that advice. It looked like it should work, but it only
affected the points on the graph, and not the ones on the key. Looking
at the lattice source, the draw.key function doesn't seem to consult
many settings.
I'm now pretty confident that the fill parameter is not having an affect
due to a small bug in the lattice draw.key function. Within the draw.key
function there's a function called process.key, whose return value
provides a template that determines which parameters from the 'points'
key item will be copied to the output key. It takes a bunch of
arguments, including 'fill', and includes all arguments -- except for
'fill' -- in its return value. If I add 'fill=fill' to its return value
list, then my example code works as expected.
Best wishes,
Wayne Rochester
CSIRO, Brisbane, Australia
-------- Original Message --------
Subject: Re: Specifying point symbol fill colour in lattice xyplot keys
From: Wayne Rochester <wayne.roches...@csiro.au>
To: Wayne Rochester <wayne.roches...@csiro.au>
Date: 18/03/13 11:54
Hi Wayne
Try this
library(lattice)
xyplot(1:10 ~ 1:10,
par.settings = list(plot.symbol = list(col = "blue",
fill = "red",
cex = 1,
pch = 21)),
type = "p",
key = list(points = list(col = "blue",
fill = "red",
cex = 3,
pch = 21))
)
I sometimes have trouble with passing colours etc to panels and keys
in lattice but this seems to work.
If you have groups change plot.symbol to superpose.symbol
Duncan
Duncan Mackay
Department of Agronomy and Soil Science
University of New England
Armidale NSW 2351
Email: home: mackay at northnet.com.au
-------- Original Message --------
Subject: Specifying point symbol fill colour in lattice xyplot keys
From: Wayne Rochester <wayne.roches...@csiro.au>
To: R-help <r-help@r-project.org>
Date: 12/03/13 11:11
Dear all,
When defining explicit keys with xyplot, I have previously used the
fill parameter to set the background colour of point symbols. That's
no longer working for me, and I am wondering whether it's a bug or
whether I've misinterpreted the documentation and have been relying
on a feature wasn't intended. If the latter, can anyone suggest the
correct way to do it?
Here's an example of what I am trying to do:
library(lattice)
print(xyplot(y ~ x,
data=data.frame(x=1:10, y=1:10),
key=list(points=list(pch=21,
col="blue",
cex=3,
fill="red"))))
Only the key is of interest here. It doesn't match the data and isn't
meant to.
On R 2.15.2 and lattice 0.20-10 the circle in the key has a blue
outline and a red fill colour. On R 2.15.3 and lattice 0.20-13 the
fill is transparent (or white).
The source code for draw.key looks like it is sill trying to support
the fill option. I have been able to confirm the old behaviour with
the old R and lattice versions on Ubuntu 11.10 and openSUSE 12.2. I
have confirmed the new behaviour with the new versions on Ubuntu
11.10 and Windows 7.
Many thanks,
Wayne Rochester
CSIRO, Brisbane, Australia
--
Dr Wayne Rochester
Research Scientist
CSIRO Marine and Atmospheric Research
Level 1 Block B
Ecosciences Precinct
GPO Box 2583
Brisbane Qld 4001
Phone: +61 (0)7 3833 5943
Fax: +61 (0)7 3833 5501
E-mail: wayne.roches...@csiro.au
WWW: http://www.csiro.au/
______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.