It looks very nice -- hopefully your reviewers agree. The built in documentation is a little sparse (though greatly enhanced in the newest 0.9.0 release) -- but Hadley's website http://had.co.nz/ggplot2/ is very good and there's a ggplot2 book available on Amazon (though it's a little out of date -- I believe Hadley hinted at some point that after one more big release for ggplot2 he'd think about rewriting the book)
Michael On Thu, Mar 8, 2012 at 6:52 PM, Gabriel Yospin <yosp...@gmail.com> wrote: > Thanks for the help, Michael. ggplot2 is an interesting package. It would > nice if there were better documentation in the help files, but the (fully > functional) code (with fake data) I've settled on is below. I am > particularly pleased with the theme_bw, which will use less ink than the > default theme, the alignment of the x-grid labels using hjust = 1, and the > y-axis label, which finally has the superscript it requires! > > Per your suggestion, I wrote this code while listening to a variety of > classic rock ballads - it was extremely helpful. > > - Gabe > > site.txt = c("Brownsville","Chip Ross","Finley","Jim's > Creek","Lowell","Mount Pisgah","South Eugene") > leg.txt = c("Abies grandis","Acer macrophyllum","Calocedrus > decurrens","Pinus ponderosa","Pseudotsuga meziensii","Quercus > garryana","Quercus kelloggii") > # > # Fake Data > site = rep(site.txt, each = 21) > sp = rep(rep(leg.txt, each = 3), times = 7) > ga = runif(147, 0, 20) > datnew.lo = data.frame(site,sp,ga) > # > # Make the plot > library(ggplot2) > theme_set(theme_bw()) > ggplot(datnew.lo, aes(x = sp, y = ga)) + geom_boxplot() + > facet_wrap(~site, ncol = 7) + > opts(axis.text.x=theme_text(angle=90, size = 8, hjust = 1)) + > xlab("Species") + > ylab(expression(paste('Basal Area Growth Increment (mm '^{2},')'))) > > On Thu, Mar 8, 2012 at 12:22 PM, R. Michael Weylandt > <michael.weyla...@gmail.com> wrote: >> >> On Thu, Mar 8, 2012 at 1:08 PM, Gabriel Yospin <yosp...@gmail.com> wrote: >> > Hello R Help! >> >> Hello Gabe Yospin! (I feel like I should start playing some arena rock >> anthem now ;-) ) >> >> > >> > I would like to make a legible boxplot of tree growth rates for each of >> > seven tree species at each of seven different sites. It's a lot of data >> > to >> > put on one figure, I know. I made a beautiful, interpretable figure >> > using >> > color, but my target journal can't deal with color figures. I can use >> > seven >> > shades of grey to fill the boxes, but the figure then becomes >> > uninterpretable - the colors of adjacent boxes are too similar. I cannot >> > figure out how to add a pattern, hatching, or cross-hatching to the >> > boxes. >> > >> > I see that in 2003 Professor Ripley confirmed that one cannot hatch >> > boxplots: >> > >> > http://tolstoy.newcastle.edu.au/R/help/03a/2622.html >> > >> > Is this still true? If so, does anyone have a suggestion for how to make >> > this figure interpretable in black and white? Should I pick a different >> > target journal? >> > >> >> I don't think you'd need to change journals just for graphical styles: >> do it for much less important things, like impact factor. It sounds >> like the idea of small multiples might help here: I'm not a lattice >> pro, but here's something you could do in ggplot2 (and I know it's >> doable in lattice as well): >> >> I'm gonna put new lines in all your species names since space will be >> at a premium: >> >> levels(datnew.lo$sp) <- gsub(" ", "\n", levels(datnew.lo$sp)) >> >> library(ggplot2) >> ggplot(datnew.lo, aes(x = sp, y = ga)) + geom_boxplot() + >> facet_wrap(~site, nrow = 2) + opts(axis.text.x=theme_text(angle=45, >> size = 7)) >> >> Others with more ggplot / lattice - fu than I can help you tweak this >> but hopefully this is a start. >> >> Michael >> >> >> > Many thanks, >> > >> > Gabe >> > >> > Functional code to make the color figure with fake data follows: >> > # >> > leg.txt = c("Abies grandis","Acer macrophyllum","Calocedrus >> > decurrens","Pinus ponderosa","Pseudotsuga meziensii","Quercus >> > garryana","Quercus kelloggii") >> > site.txt = c("Brownsville","Chip Ross","Finley","Jim's >> > Creek","Lowell","Mount Pisgah","South Eugene") >> > colors = c("gray","red","white","blue","yellow","purple","orange") >> > # Fake data here: >> > site = rep(site.txt, each = 21) >> > sp = rep(rep(leg.txt, each = 3), times = 7) >> > ga = runif(147, 0, 20) >> > datnew.lo = data.frame(site,sp,ga) >> > # Now make the plot: >> > boxplot(ga~sp*site,data=datnew.lo, range = 1, >> > col = colors, >> > ylim = c(0,30), >> > xaxt = "n", >> > xlab = "Site", >> > ylab = "Basal Area Growth Increment", >> > main = "Basal Area Growth Increment by Site and Species") >> > axis(1, at = c(4,11,18,25,32,39,46), >> > labels = site.txt, >> > ) >> > abline(v = 7.5, lty = 3) >> > abline(v = 14.5, lty = 3) >> > abline(v = 21.5, lty = 3) >> > abline(v = 28.5, lty = 3) >> > abline(v = 35.5, lty = 3) >> > abline(v = 42.5, lty = 3) >> > legend("topright", legend = leg.txt, fill = colors, bg = "white") >> >> Thanks for the great reproducible example! Made this much easier and more >> fun. >> >> > >> > [[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. > > ______________________________________________ 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.