[R] panel function with barchart (lattice)

Deepayan Sarkar deepayan.sarkar at gmail.com
Wed Jan 25 20:30:22 CET 2006


On 1/25/06, Drew <drewbrewit at yahoo.com> wrote:
> 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,...)

Well, panel.barchart needs the subscripts and groups arguments to draw
stacked bar charts, and you are calling it without them.

> 		ltext(x = x, y = y, label =
> round(barley$yield[subscripts],1), cex=.8)

The y values will need to be accumulated. Have you looked at what
panel.barchart does?

> 	}
> )
>
> 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
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
>


--
http://www.stat.wisc.edu/~deepayan/




More information about the R-help mailing list