Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to set strip label font size in lattice graphics in R

I've created a lattice plot with three panels. I can control the font size for the axis and tick labels, but I haven't been able to figure out how to increase the font size of the strip labels. Here's a concrete example:

# See below for the fake data to run this code
library(lattice)
barchart(choice ~ yes+no+not.app|group, data=data, 
         stack=TRUE, col=c("green","red","blue"), 
         xlim=c(0,100), layout=c(3,1),
         scales=list(cex=c(1.4,1.4), alternating=3),
         xlab=list(label="Percent of Respondents", fontsize=20), 
         main="")

Here's the graph this code produces. Note how all the fonts are nice and big except for the strip labels ("Group 1", "Group 2", "Group 3"). I've been fishing around R-help and Stack Overflow, but haven't been able to work this one out. Does anyone know the magic incantation?

enter image description here

data = structure(list(choice = c("Choice 1", "Choice 1", "Choice 1", 
"Choice 2", "Choice 2", "Choice 2", "Choice 3", "Choice 3", "Choice 3", 
"Choice 4", "Choice 4", "Choice 4"), group = c("Group 1", "Group 2", 
"Group 3", "Group 1", "Group 2", "Group 3", "Group 1", "Group 2", 
"Group 3", "Group 1", "Group 2", "Group 3"), yes = c(23.53, 20.47, 
22.94, 16.51, 16.54, 16.51, 9.68, 13.39, 10.4, 24.48, 29.92, 
25.54), no = c(41.37, 37.01, 40.52, 48.39, 40.94, 46.94, 55.22, 
44.09, 53.06, 40.42, 27.56, 37.92), not.app = c(35.1, 42.52, 
36.54, 35.1, 42.52, 36.54, 35.1, 42.52, 36.54, 35.1, 42.52, 36.54
)), .Names = c("choice", "group", "yes", "no", "not.app"), row.names = c(NA, 
12L), class = "data.frame")
like image 570
eipi10 Avatar asked Oct 04 '12 00:10

eipi10


People also ask

How do I change the font size on a label in R?

Go to the menu in RStudio and click on Tools and then Global Options. Select the Appearance tab on the left. Again buried in the middle of things is the font size. Change this to 14 or 16 to start with and see what it looks like.

How do I change font size in labels?

To change the font size in HTML, use the style attribute. The style attribute specifies an inline style for an element. The attribute is used with the HTML <p> tag, with the CSS property font-size.


1 Answers

Try this (good work on supplying an example):

barchart(choice ~ yes+no+not.app|group, data=data, 
     par.strip.text=list(cex=2),
     stack=TRUE, col=c("green","red","blue"), 
     xlim=c(0,100), layout=c(3,1),
     scales=list(cex=c(1.4,1.4), alternating=3),
     xlab=list(label="Percent of Respondents", fontsize=20), 
     main="")

To see more about how to manage the strip features type : ?strip.default There are other levers to throw in strip.custom. Also see the latticeExtra package that has the capacity to put strips on the sides with useOuterStrips.

like image 189
IRTFM Avatar answered Dec 09 '22 05:12

IRTFM