Am 03.11.2010 12:52 (UTC+1) schrieb Deepayan Sarkar:
On Wed, Nov 3, 2010 at 4:25 PM, Rainer Hurling<rhur...@gwdg.de> wrote:
Am 03.11.2010 10:23 (UTC+1) schrieb Deepayan Sarkar:
On Wed, Nov 3, 2010 at 4:11 AM, Dennis Murphy<djmu...@gmail.com> wrote:
Hi:
I don't know why, but it seems that in
bwplot(voice.part ~ height, data = singer,
main = "NOT THE RIGHT ORDER OF COLOURS\n'yellow' 'blue' 'green' 'red'
'pink' 'violet' 'brown' 'gold'",
fill=c("yellow","blue","green","red","pink","violet","brown","gold"))
the assignment of colors is offset by 3:
Levels: Bass 2 Bass 1 Tenor 2 Tenor 1 Alto 2 Alto 1 Soprano 2 Soprano 1
fillcol<- c("yellow","blue","green","red","pink","violet","brown","gold")
In the above plot,
yellow -> Bass 2 (1)
blue -> Tenor 1 (4)
green -> Soprano 2 (7)
red -> Bass 1 (10 mod 8 = 2)
pink -> Alto 2 (13 mod 8 = 5)
etc.
It's certainly curious.
Curious indeed. It turns out that because of the way this was
implemented, every 11th color was used, so you end up with the order
sel.cols<-
c("yellow","blue","green","red","pink","violet","brown","gold")
rep(sel.cols, 100) [ seq(1, by = 11, length.out = 8) ]
[1] "yellow" "red" "brown" "blue" "pink" "gold" "green"
"violet"
It's easy to fix this so that we get the expected order, and I will do
so for the next release.
Thank you for this proposal. We are looking forward for the next release :-)
We frequently have to colour selected boxes to be able to compare special
cases over different panels.
Having said that, it should be noted that any vectorization behaviour
in lattice panel functions is a consequence of implementation and not
guaranteed by design (although certainly useful in many situations).
In particular, it is risky to depend on vectorization in multipanel
plots, because the vectorization starts afresh in each panel for
whatever data subset happens to be in that panel, and there may be no
relation between the colors and the original data.
Thank you for the warning.
One alternative is to use panel.superpose with panel.groups=panel.bwplot:
bwplot(voice.part ~ height, data = singer, groups = voice.part, panel
= panel.superpose, panel.groups = panel.bwplot, fill = sel.cols)
This indeed works nice 'as a workaround'.
Actually, I would reiterate that this is the "right solution" and the
it's other fix that qualifies as a quick workaround (especially if you
are considering comparing things across multiple panels).
Yes, this comparing across multiple panels was our intention.
Rainer
-Deepayan
______________________________________________
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.