[R] Stacked barchart color
hadley wickham
h.wickham at gmail.com
Tue Jun 12 20:31:47 CEST 2007
On 6/12/07, Dieter Menne <dieter.menne at menne-biomed.de> 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
More information about the R-help
mailing list