varias superponer studio modificar leyendas graficos graficas ggplot ejes r plot latex axis-labels plotmath

studio - superponer graficas en r ggplot



Expresión matemática en la etiqueta del eje. (4)

Creo que tikzDevice es el camino a seguir aquí. Se puede instalar desde R-forge .

install.packages("tikzDevice", repos="http://R-Forge.R-project.org")

La filosofía de tikz / pgf es crear una trama que se pueda componer. Probablemente querrá que sean consistentes con su documento. Por ejemplo, con los mismos paquetes, fuentes, tamaño de fuente, etc.

Puede configurar estas cosas dentro de una llamada a tikz configurando

Opciones como la declaración del documento.

options(tikzDocumentDeclaration = "//documentclass[10pt]{article}")

paquetes

tikzLatexPackages (o similar)

También puede controlar el tamaño de fuente.

Todas estas cosas se detallan en

? tikzDevice.

También puede utilizar knitr para crear sus parcelas dentro de un documento de programación alfabetizado (.rnw)

En este caso, utilizando un dispositivo tikz se crea un pdf (como externo = VERDADERO), utilizando la misma declaración de documento y encabezado / paquetes que el documento completo.

/documentclass[12pt,a4paper]{article} /begin{document} <<setup, include = FALSE>>= opts_chunk$set(dev = ''tikz'', external = TRUE) @ <<myplot, fig.width=5, fig.height = 5, echo=FALSE>>= plot(1:10, 1:10, xlab="$//theta_//ell$") @ /end{document}

En R, uso la expression(theta[l]) para que la etiqueta de mi eje de trazado sea igual a $/theta_l$ de LaTeX. Por razones estéticas, me gustaría mostrar $/theta_/ell$ . ¿Me puedes ayudar?

EDITAR

Antes lo hice

plot(1:10, 1:10, xlab=expression(theta[l]))

Y exporté la imagen resultante en pdf. Entonces, usando

/begin{figure}[htbp] /centerline{/includegraphics[scale=.6]{test.pdf}} /end{figure}

Mi foto fue insertada en LaTeX.

Siguiendo los comentarios, aquí está lo que hago ahora:

require(tikzDevice) tikz("test.tex", standAlone=TRUE, width=5, height=5) plot(1:10, 1:10, xlab="$//theta_//ell$") dev.off() tools::texi2pdf(''test.tex'') system(paste(getOption(''pdfviewer''),''test.pdf''))

Sin embargo, cuando inserto el gráfico de resolución en LaTeX, la calidad de la figura no es tan buena como antes. ¿Hay algo más que pueda hacer?


Esta es una solución algo sucia, pero la hace:

plot(1,1, xlab=expression(theta)) title(xlab=" /u2113",line=3.2,cex.lab=.7)

Primera trama con el símbolo theta. Luego agregue el símbolo / ell con un tamaño de fuente más pequeño y configure manualmente la posición.


He encontrado una solución here . Explican un proceso largo para que la codificación funcione con el dispositivo pdf estándar. De lo contrario, el dispositivo CairoPDF se puede utilizar instalando el paquete Cairo . Entonces, algo como xlab="/u2113" aparecerá en el pdf utilizando la solución de @ Julián Urbano. No tuve suerte usando el carácter dentro de una expresión.


Realmente no hay razón para usar un paquete posiblemente no mantenido como ''tikzDevice'' para un problema tan simple. Parte del problema con el dispositivo ''tikz'' es que no parece aceptar correctamente los argumentos ''xpinch'' y ''ypinch'' que especifican la resolución de su trama.

Hay una cuestión más amplia de agregar la notación LaTEX a los gráficos, pero para este problema localizado, la pregunta es si se especifica la fuente para hacer que el paquete base ''plotmath'' muestre letras cursivas para usted.

Puede cambiar la fuente de su etiqueta del eje x separándola del comando plot y seleccionando una fuente personalizada dentro de la función ''título'' con algo como esto:

plot(1:10, 1:10, xlab="") windowsFonts(script=windowsFont("Script MT Bold")) title(xlab=expression(theta[l]), family="script")

Lo que hemos hecho es especificar una etiqueta nula para el eje x en el comando plot para primero hacer espacio. Luego, cargamos una fuente del sistema en las familias de fuentes disponibles (me gusta Script MT Bold para las expresiones). Finalmente, podemos usar la función ''título'' para trazar la etiqueta del eje x y especificar la familia para cualquier texto en esa etiqueta.

Al hacer esto, conservamos toda la funcionalidad original del dispositivo de trazado, por lo que ya no debería tener una caída de resolución al convertir a PDF.

Ahora, si alguien tiene una buena solución para el problema de la notación LaTEX fuera del paquete ''tikzDevice'', me encantaría saberlo. La única forma que conozco de hacer esto bien es voltear el modelo y usar el paquete LaTEX ''tikz'' para dibujar todo el gráfico manualmente desde el archivo LaTEX o usar el paquete R ''pixmap'' para dibujar una imagen de mi expresión en parte superior de la trama. Ninguno se siente como un enfoque perfecto.