[R] qplot, stacked area, own colourscheme

Albin Blaschka albin.blaschka at gmail.com
Wed Sep 24 15:39:32 CEST 2008


Dear list,

I would like to apply my own colours to a stacked area plot, done with 
qplot, but I have not succeeded...

What do I have so far (I am dealing with the development of cover of 
specific groups of plants):


library(ggplot2) 

library(RODBC) 

channel <- odbcConnect("myusername", case="tolower") 

sql <- "select trial, cover_of, dateofsurvey, cover from mytable" 

mydata <- (sqlQuery(channel, sql))

What I get is the following dataframe (simplified, there are more 
categories, not real data):

	trial	cover_of		dateofsurvey	cover
1        ZU-316 Cover dead material	2004-09-16    0
2        ZU-316 Cover grasses		2004-09-16   16
3        ZU-316 Cover herbs		2004-09-16   14
4        ZU-316 Cover legumes		2004-09-16   10
5        ZU-316 Cover open soil		2004-09-16   30
6        ZU-316 Cover dead material	2005-09-18    5
7        ZU-316 Cover grasses		2005-09-18   26
8        ZU-316 Cover herbs		2005-09-18   14
9        ZU-316 Cover legumes		2005-09-18   15
10       ZU-316 Cover open soil		2005-09-18   20
11       ZU-316 Cover dead material	2006-09-06    7
12       ZU-316 Cover grasses		2006-09-06   36
13       ZU-316 Cover herbs		2006-09-06   20
14       ZU-316 Cover legumes		2006-09-06   15
15       ZU-316 Cover open soil		2006-09-06   20
.
.
.

With the following command I get a nice graph (development of cover over 
the years):

qplot(dateofsurvey, cover, data=mydata, geom="area", fill=cover_of,
         main = "Development of cover, ZU-316",
         ylab="projective Cover[%]", xlab = "Year")

As I have those categories (cover grasses, cover herbs...) I would like 
to assign special colours to each (for example "cover grasses" => dark 
green, "cover open soil" => brown ...), but I did not get it so far.
I tried several variations with area_geom, scale_manual but without 
success...
For example (which does not work, it just shows the standard colourscheme):

mycolorscheme <- c("khaki", "darkgreen",
		   "lightgreen", "yellow", "saddlebrown")
mycolors <- rep(mycolorscheme,3)

myplot <- qplot(dateofsurvey, wert, data=mydata, geom="area",
		fill=cover_of, main = "Development of cover, ZU-316",
		ylab="projective Cover[%]", xlab = "Year")
myplot + geom_area(colour = mycolours)

What am I doing wrong?

Thank you in advance,
Albin


-- 
| Albin Blaschka, Mag.rer.nat.
| Etrichstrasse 26, A-5020 Salzburg
| * www.albinblaschka.info * www.thinkanimal.info *
| - It's hard to live in the mountains, hard but not hopeless!



More information about the R-help mailing list