¿Por qué las etiquetas de los ejes son demasiado grandes cuando se utilizan tikzDevice y lattice?

¿Por qué las etiquetas de los ejes son demasiado grandes cuando se utilizan tikzDevice y lattice?

Estoy trabajando en un artículo que se enviará a una revista de Elsevier. Elpautas oficialesEstablece eso, afirma eso:

Como regla general, las letras de la obra de arte deben tener un tamaño impreso terminado de 7 puntos para texto normal y no menor a 6 puntos para caracteres de subíndice y superíndice.

Utilizo la combinación knitr + lattice + tikzDevice. Configuré las siguientes opciones:

opts_chunk$set(include=FALSE, error=FALSE, warning=FALSE, echo=FALSE,
dev="tikz", dev.args=list(pointsize=10), fig.align="center")

Y mi trama se genera con fig.width=3.5, fig.height=3.5. Obtengo el siguiente resultado con una llamada a xyplot, sin pasar ninguna cexopción:

ingrese la descripción de la imagen aquí

Las etiquetas de los ejes son más grandes que el texto principal, que normalsizemide 10 puntos (creo que estoy usando la elsarticleclase de documento con la 3popción).

Cuando abro uno de los tikzarchivos generados, encontré varias declaraciones de nodos como esta:

\node[text=drawColor,anchor=base,inner sep=0pt, outer sep=0pt, scale=  1.20] at (137.00, 12.04) {Day};

Parece que tikzDeviceaplica un factor de escala de 1,2 a las etiquetas de los ejes; Curiosamente, este no parece ser el caso de los gráficos producidos con gráficos base.

¿Alguna idea de por qué este comportamiento y qué puedo hacer para reducir el tamaño de las etiquetas de los ejes a los 7 puntos deseados?

Respuesta1

Desde que planteé esa pregunta, cambié a ggplot, y con ese paquete obtengo el tamaño que necesito cambiando el base_sizeparámetro del tema:

theme_set(theme_bw(base_size = 7))

No lo he comprobado, pero sospecho que se puede hacer algo similar con el enrejado.

Respuesta2

También estoy usando ggplot, pero estableciendo base_size comolindelofpropuesto no funcionó para mí. Lo que funcionó fue establecer explícitamente el tamaño de fuente para las etiquetas de los ejes:

ggplot(...) + theme(axis.title = element_text(size = 10))

información relacionada