I: a coloured band within each panel of a lattice bwplot
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