On Wed, Sep 24, 2008 at 8:39 AM, Albin Blaschka
<[EMAIL PROTECTED]> wrote:
>
> 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)

You want to modify the scale (the thing that converts data values to
colours), not the geom:

+ scale_fill_manual(values = mycolorscheme)

(And it's fill you want to change, not colour)

This will also update the legend.

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.

Reply via email to