Skip to content

I: a coloured band within each panel of a lattice bwplot

2 messages · 8rino-Luca Pantani, Deepayan Sarkar

#
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.

Is it possible, or I'm pretending too much?

Thanks to all.

Ottorino-Luca Pantani, Universit?? di Firenze
Dip. Scienza del Suolo e Nutrizione della Pianta
#
On Friday 05 November 2004 05:05, 8rino-Luca Pantani wrote:
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
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