[R] panel function with barchart (lattice)

Drew drewbrewit at yahoo.com
Wed Jan 25 08:35:23 CET 2006


Folks at R help,

I can't quite get the panel function to work the way I
want within barchart.
I guess I'm still not understanding how to piece
together multiple panel
arguments, especially when "groups" is specified.

Example: I want to be able to add the value of "yield"
to each section of
each bar in this graph:

barchart(yield ~ variety | site, data = barley,
	groups = year,
	layout = c(1,6),
	stack=TRUE,
	ylab = "Barley Yield (bushels/acre)"
)

To do this, I add my panel function:

barchart(yield ~ variety | site, data = barley,
	groups = year,
	layout = c(1,6),
	stack=TRUE,
	ylab = "Barley Yield (bushels/acre)",

	panel = function(x,y,subscripts,groups,...){
		panel.barchart(x,y,...)
		ltext(x = x, y = y, label =
round(barley$yield[subscripts],1), cex=.8)
	}
)

Then I get the values to print on each bar (which is
what I want) but the
bars no longer stack to appropriate height, and I
cannot get the subsections
of each bar to be a different color. I've tried
numerous variations of
panel.barchart, panel.superpose, etc. using examples
from ?xyplot, but
nothing quite works or I get an error message.

Any help would be appreciated.

~Nick




More information about the R-help mailing list