2012-10-04 20 views
17

He creado un diagrama de celosía con tres paneles. Puedo controlar el tamaño de fuente para las etiquetas de eje y tilde, pero no he podido averiguar cómo aumentar el tamaño de fuente de las etiquetas de tira. Aquí hay un ejemplo concreto:Cómo establecer el tamaño de fuente de etiqueta de tira en gráficos de celosía en R

# 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="") 

Aquí está el gráfico que este código produce. Tenga en cuenta que todas las fuentes son bonitas y grandes, excepto las etiquetas de la tira ("Grupo 1", "Grupo 2", "Grupo 3"). He estado pescando alrededor de R-help y Stack Overflow, pero no he podido solucionar este problema. ¿Alguien sabe el hechizo mágico?

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") 
+0

Probablemente se debe tener en cuenta que en el enrejado, "panel" se refiere a lo que está dentro del área (s) de trazado, mientras que las "bandas" y "etiquetas" generalmente están fuera del área (s) de trazado. –

+0

Acabo de ver tu comentario y he actualizado el título y el texto. – eipi10

Respuesta

24

probar este (buen trabajo en el suministro de un ejemplo):

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="") 

Para ver más acerca de cómo administrar el tipo de características de la tira: ?strip.default Hay otras palancas para tirar strip.custom. También vea el paquete latticeExtra que tiene la capacidad de poner tiras en los lados con useOuterStrips.

+2

Ah, la palabra mágica es 'strip'. Seguí metiéndome con variaciones de 'panel.this',' panel.that' y no estaba llegando a ningún lado. ¡Gracias! – eipi10

+0

Las funciones del panel se ocupan de lo que aparece dentro de los cuadros. Entonces, sí, la palabra mágica es "tira". Y confieso que me tomó un par de años aprender esta palabra mágica. –

+0

Un pequeño comentario: si bien pude especificar globalmente todos los comandos similares (por ejemplo, 'par.ylab.text = list (cex = 0.8)') a través de 'trellis.par.set()', esto no funcionó para ' par.strip.text = list (cex = 2) '. Tiene que especificarse directamente en el comando de trazado. ¿Alguna idea de por qué este es el caso? – deca

Cuestiones relacionadas