On Fri, Feb 26, 2010 at 8:30 AM, Peng Cai <pengcaimaillist at gmail.com>
wrote:> Hi All,
>
> I'm trying to plot boxplot graph. I tried barchart with
"groups=" option and
> it worked fine. But when I try to generate same kind of graph using
> bwplot(), "groups=" option doesn't seem to work. Though this
works,
>
> yield ~ variety | site * year
>
> I'm thinking why "groups=" doesn't work in this case, can
anyone help
> please...
Let's see...you have exactly one observation per site/variety/year
combination (otherwise the barchart wouldn't have made sense). So in
the boxplot you want (which is supposed to summarize a distribution,
not a single point), you only have that single point to plot. For
that, you can use
dotplot(yield ~ variety | site, data = barley, auto.key = TRUE,
groups = year, layout = c(6,1), scales=(x=list(rot=45)))
If you try to come up with a more sensible example, you would realize
that boxplots are already grouped (the grouping variable is the
categorical variable in the formula y ~ x, not the 'groups' argument).
Compare
## Is this really what you want?
bwplot(yield ~ variety, data = barley, col = 1, pch = 16,
panel = panel.superpose, panel.groups = panel.bwplot,
groups = year, scales=(x=list(rot=45)))
bwplot(yield ~ year | variety, data = barley,
scales=(x=list(rot=45)), layout = c(10, 1))
-Deepayan
>
> #Code:
> library(lattice)
> barchart(yield ~ variety | site, data = barley,
> ? ? ? ? groups = year, layout = c(1,6),
> ?auto.key = list(points = FALSE, rectangles = TRUE, space =
"right"))
>
> bwplot(yield ~ variety | site, data = barley,
> ? ? ? ? groups = year, layout = c(6,1), scales=(x=list(rot=45)),
> ?auto.key = list(points = FALSE, rectangles = TRUE, space =
"right"))