[R] I: a coloured band within each panel of a lattice bwplot
Deepayan Sarkar
deepayan at stat.wisc.edu
Fri Nov 5 18:07:49 CET 2004
On Friday 05 November 2004 05:05, 8rino-Luca Pantani wrote:
> Hi all,
> I would like to add to each panel of a bwplot a coloured central
> band, centered on the mean of the values, being its width +- 2% of
> the mean itself.
>
> I know how to add lines, i.e. something like
>
> bwplot(X ~ Y|FACTOR
> data=my.df,
> panel= function(x, y){
> panel.bwplot(x, y)
> panel.abline(v = mean(x, na.rm = T) - mean(x, na.rm = T) *
> 0.02 panel.abline(v = mean(x, na.rm = T) + mean(x, na.rm = T) * 0.02
> })
>
> but I cannot figure out how to shade the region included between the
> two lines.
Generally speaking, you want to draw a polygon . There is no lattice
wrapper for the 'grid.polygon' function, so you will have to use it
directly. Check out
> library(grid)
> help(grid.polygon)
For this simpler case though, 'grid.rect' should be sufficient, e.g.
panel= function(x, y){
m <- mean(x, na.rm = T)
grid.rect(x = unit(m, "native"),
w = unit(m * 0.04, "native"),
gp = gpar(fill = "lightgrey", col = "transparent"))
panel.bwplot(x, y)
}
Make sure to do a 'library(grid)' before this.
Deepayan
More information about the R-help
mailing list