Thanks for the lattice help Gabor and Deepayan. These snippets work well. I've only been using R a few months and it and the user community have exceeded my expectations.
Best Regards, -Sam -----Original Message----- From: Deepayan Sarkar [mailto:[EMAIL PROTECTED] Sent: Sunday, August 06, 2006 1:18 AM To: Walker, Sam Cc: [email protected]; Gabor Grothendieck Subject: Re: [R] ggplot facet label font size On 8/3/06, Walker, Sam <[EMAIL PROTECTED]> wrote: > > This works OK, but there is some extra spacing between the panels, the > top axis and the strip on the top, and the left labels and panel. > > How can I remove these extra spaces? This turns out to be surprisingly easy (surprising to me at least): ######### my.strip <- function(which.given, which.panel, var.name, ...) { if (which.given == 1 && which.panel[2] == 2) strip.default(1, which.panel[1], var.name = var.name[1], ...) } my.strip.left <- function(which.given, which.panel, var.name, ..., horizontal) { if (which.given == 2 && which.panel[1] == 1) strip.default(1, which.panel[2], var.name = var.name[2], horizontal = FALSE, ...) } histogram(~ tip/total_bill | sex + smoker, tips, strip = my.strip, strip.left = my.strip.left, par.strip.text = list(lines = 0.6), par.settings = list(layout.heights = list(strip = c(0, 1)), layout.widths = list(strip.left = c(1, 0)), add.text = list(cex = 0.7))) ######### The trick of changing two-line strips to one-line strips is not obvious from the documentation (such as it is), it depends on the implementation of strips. HTH, Deepayan > I've tried changing various layout.widths settings with no luck. It > seems the spaces are calculated based on the number of conditioning > variables, in this case 2 (sex+smoker). > > > Thanks in advance... > -Sam > > > -----Original Message----- > From: Gabor Grothendieck [mailto:[EMAIL PROTECTED] > Sent: Wednesday, August 02, 2006 6:04 PM > To: Walker, Sam > Cc: [email protected] > Subject: Re: [R] ggplot facet label font size > > On 8/2/06, Walker, Sam <[EMAIL PROTECTED]> wrote: > > How do I change the font size in the facet labels along the edges of > the > > plot? > > > > For example (from the ggplot help file): > > p<-ggplot(tips, sex ~ smoker, aesthetics=list(x=tip/total_bill)) > > gghistogram(p) > > > > In this plot, the facet labels are "smoker: No", "smoker: Yes", "sex: > > Female", "sex: Male". What command can I use to reduce the font size > of > > these labels? > > > > In lattice terminology, cex is used to scale these strip labels. But > I > > couldn't find the equivalent in ggplot. > > > > The reason I'm asking is I have a 9x7 array of plots which I've been > > plotting with lattice. I wanted to use ggplot because I like having > the > > labels on the edge of the plots > > Note that lattice can do that by using custom strip functions: > > library(ggplot) # data resides here > library(lattice) > > my.strip <- function(which.given, which.panel, ...) > if (which.given == 1 && which.panel[2] == 2) > strip.default(which.given, which.panel, ...) > > my.strip.left <- function(which.given, which.panel, ..., horizontal) > if (which.given == 2 && which.panel[1] == 1) > strip.default(which.given, which.panel, horizontal = FALSE, ...) > > histogram(~ tip/total_bill | sex + smoker, tips, strip = my.strip, > strip.left = my.strip.left, par.settings = list(add.text = > list(cex = 0.7))) > > ______________________________________________ > [email protected] 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. > -- http://www.stat.wisc.edu/~deepayan/ ______________________________________________ [email protected] 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.
