On Nov 2, 2010, at 5:08 PM, Rainer Hurling wrote:
On 02.11.2010 21:43 (UTC+1), David Winsemius wrote:
On Nov 2, 2010, at 4:07 PM, Rainer Hurling wrote:
snipped quite a bit of talking past each otther
Of course your example with eight colours works, too. But as you can
see in the plot, the colours have different order then in the vector
'colors()[(2:9)*10]' itself. I expected the first box (bass2)
coloured
"bisque1", the second box (bass1) "blue4" and so on.
Oh. Try putting the fill argument outside the panel and see if the
panel
handles it in the manner you expect:
bp3 <- bwplot(voice.part ~ height, data = singer, main = "fill arg
outside bwplot\n1] 'bisque1' 'blue4' 'burlywood3' 'chartreuse3'
'coral3'
'cyan2' 'darkgray' 'darkorange", fill=colors()[(2:11)*10],
panel = function(...) {
panel.grid(v = -1, h = 0)
panel.bwplot( ...)
})
bp3
I hope, this explaination is a bit clearer than my preceding ones.
And I hope my suggestion now "works".
Thank you for the hint, that it works also outside of the panel. It
looks like I missed the wood for trees here ;-)
In your latest, special case the colours work. After having a nearer
look at it I found that your colour vector has length 10 (2:11), and
only the first eight colours are filled in the boxes.
I don't know why the ordering only is irregularly preserved ...
apparently in situations where the number of colors is a multiple of
5. Perhaps a question that Sarkar, Andrews or Ehlers can answer. I
looked at the code for bwplot and it uses panel.polygon for drawing
the rectangles. The colors and other graphical parameters are supposed
to be picked up from the box.rectangle settings in par.settings.
(Trying to set those alos failed.) I also looked at panel.polygon and
do not see a reason for the shuffling of colors.
Wrong order also:
> bp3 <- bwplot(voice.part ~ height, data = singer, main = "fill arg
outside bwplot\n1] 'bisque1' 'blue4' 'burlywood3' 'chartreuse3'
'coral3' 'cyan2' 'darkgray' 'darkorange", par.settings =
list(box.rectangle=list(fill=colors()[(2:9)*10])), horizontal=TRUE,
+ panel = function(...) {
+ panel.grid(v = -1, h = 0)
+ panel.bwplot( ...)
+ })
> bp3
This seems to be reproducable:
### NOT WORKING: 8 colours in the not in order of given vector
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"))
### WORKING: 10 (8+2*NA) colours in order of given vector
bwplot(voice.part ~ height, data = singer,
main = "RIGHT ORDER OF COLOURS\n'yellow' 'blue' 'green' 'red'
'pink' 'violet' 'brown' 'gold'",
fill=c("yellow","blue","green","red","pink","violet","brown","gold",
NA, NA))
I really do not understand what is going on here,
Me either.
Rainer
David Winsemius, MD
West Hartford, CT
David Winsemius, MD
West Hartford, CT
______________________________________________
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.