Thanks Deepayan ! On Sun, Feb 28, 2010 at 2:08 PM, Deepayan Sarkar <deepayan.sar...@gmail.com>wrote:
> On Sat, Feb 27, 2010 at 8:14 PM, Peng Cai <pengcaimaill...@gmail.com> > wrote: > > Thanks a lot Deepayan, one question: > > > > Is it possible to place these barplots side-by-side instaed of super > > imposing? Something like this: > > http://www.imachordata.com/wp-content/uploads/2009/09/boxplot.png > > Well, yes; a quick approximation is > > data(mpg, package = "ggplot2") > > bwplot(hwy ~ class, data = mpg, groups = year, > pch = "|", box.width = 1/3, > auto.key = list(points = FALSE, rectangles = TRUE, space = "right"), > panel = panel.superpose, > panel.groups = function(x, y, ..., group.number) { > panel.bwplot(x + (group.number-1.5)/3, y, ...) > }) > > A general solution would need more work. But I would instead have suggested > > bwplot(hwy ~ factor(year) | class, data = mpg, layout = c(7, 1), pch = "|") > > -Deepayan > > > > > library(lattice) > > bwplot(yield ~ variety, data = barley, col = 1, pch = 16, > > panel = panel.superpose, panel.groups = panel.bwplot, > > auto.key=list(space="right"), > > groups = year, scales=(x=list(rot=45))) > > > > Thanks, > > Peng > > > > On Fri, Feb 26, 2010 at 3:51 AM, Deepayan Sarkar < > deepayan.sar...@gmail.com> > > wrote: > >> > >> On Fri, Feb 26, 2010 at 8:30 AM, Peng Cai <pengcaimaill...@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")) > > > > > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.