> However, it looks this works only when the data are in the sequence > of the levels in the factor defining the fill colours. When the > sequence is different, the legend gets "scrambled", in that the order > of the colours does not match the labels.
You can fix this by explicitly specifying the breaks to use in the identity scale: + scale_fill_identity(labels=levels(plotdata2$group), breaks=levels(plotdata2$group)) That way there's no confusion about how the values and their labels match up. Regards, Hadley -- http://had.co.nz/ ______________________________________________ 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.