On Tue, 22 Oct 2013 16:43:18 +0200 Martin Batholdy <batho...@googlemail.com> wrote:
Hi, you should replace your "color names" by calls to the rgb() function in order to generate the adequate colors, something like: bg_colors <- c(rep (rgb (0,1,0),20), rep (rgb (0,1,1),10), rep (rgb (0,1,0),20), rep(rgb (1,0,0),5), rep(rgb (1,1,0),45)) (though it should obviously be automatically extracted from your data I suppose). Then it is possible to use the color vector as an option to any plotting command e.g.: plot(color_scheme$t, color_scheme$t,col=bg_colors) or (something like): rect(xleft = color_scheme$t[1:99], ybottom = -1, xright = color_scheme$t [2:100], ytop = 1, col=bg_colors, lwd=0) Olivier. > Hi, > > I would like to colour different areas of a plot. > But I don't know how to do this efficiently. > > As an example; > > lets say three stimuli were presented in an experiment, alternating, > one at a time. Now I want to plot time on the x-axis and the > plot-area should colour code the stimulus that was presented at that > time interval (green for stimulus 1, yellow for stimulus 2 etc.) > > > here an example: > (t = time) > > > t <- 1:100 > bg_colors <- c(rep('green',20), rep('yellow',10), rep('green',20), rep > ('red',5), rep('yellow',45)) > > color_scheme <- data.frame(t, bg_colors) > > plot(c(), c(), xlim = c(1,100), ylim=c(-1,1)) > > > rect(xleft = 1, ybottom = -1, xright = 20, ytop = 1, col = 'green', > lwd=0) rect(xleft = 20, ybottom = -1, xright = 30, ytop = 1, col = > 'yellow', lwd=0) … > > > now how can I do this efficiently based on the color_scheme > data-frame and without having to manually draw all the rectangles as > in the example above? > > > > thanks for any suggestions! > ______________________________________________ > 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. -- Olivier Crouzet, PhD Laboratoire de Linguistique -- EA3827 Université de Nantes Chemin de la Censive du Tertre - BP 81227 44312 Nantes cedex 3 France phone: (+33) 02 40 14 14 05 (lab.) (+33) 02 40 14 14 36 (office) fax: (+33) 02 40 14 13 27 e-mail: olivier.crou...@univ-nantes.fr http://www.lling.univ-nantes.fr/ ______________________________________________ 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.