On 6/12/07, Dieter Menne <[EMAIL PROTECTED]> wrote: > Dear Latticer, > > I want to give individual colors to all elements in a simple stacked > barchart. I know why the example below does not work (and it is a excellent > default), but is there any workaround for this? > > Dieter > > > # This only colors red and green, but I want blue and gray for Peatland. > > barchart(yield ~ variety , groups=year, data = barley, stack = TRUE, > subset=site=="Grand Rapids" & variety %in% c("Velvet","Peatland"), > col=c("red","green","blue","gray"))
Hi Dieter, You can do this with ggplot2 (http://had.co.nz/ggplot2) as follows: library(ggplot2) barley1 <- subset(barley, site=="Grand Rapids" & variety %in% c("Velvet","Peatland")) barley1[] <- lapply(barley1, "[", drop=TRUE) qplot(variety, yield, data=barley1, geom="bar", stat="identity", fill=factor(year)) barley1$fill <- c("red","green","blue","gray") qplot(variety, yield, data=barley1, geom="bar", stat="identity", fill=fill) + scale_fill_identity() See http://had.co.nz/ggplot2/scale_identity.html and http://had.co.nz/ggplot2/position_stack.html for more details. Hadley ______________________________________________ R-help@stat.math.ethz.ch 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.