una tutorial tools the output_file insertar imagen guide file_path_as_absolute espaƱol error ecuaciones definitive como r latex ggplot2 knitr rstudio

tools - r markdown tutorial pdf



Incrustar la salida de ggplot2 en LaTeX pdf usando knitr y RStudio (2)

En el pasado, he usado RStudio para crear ggplot2 y luego los exporté como archivos PDF desde RSudio. Esto funciona fantásticamente

Ahora estoy tratando de automatizar el uso de knitr, pero estoy teniendo problemas para determinar dónde establecer la altura y el peso del gráfico para crear resultados de alta calidad.

Aquí está mi intento actual, pero los gráficos "lado a lado" no lo están, el gráfico de paisaje rotado no, y la resolución parece baja.

Agradecería cualquier consejo. Parece que tanto ggplot2 como knitr están en desarrollo activo, lo que es genial, sin embargo, la búsqueda en Internet ha llevado a mi astry. LaTeX es nuevo para mí. También agradecería cualquier estrategia de flujo de trabajo general para este conjunto de herramientas. Gracias por adelantado.

/documentclass[letterpaper]{article} /usepackage{lscape} /begin{document} <<load, echo=FALSE, results=''hide'', warning=FALSE, message=FALSE>>= require(ggplot2) @ Two on the first page. <<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos=''h''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ Blah, blah, blah. <<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos=''h''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /newpage Second page. Side by side images: <<third, echo = FALSE, out.width="2in", fig.cap=''Side by side''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /newpage /begin{landscape} This page is rotated <<fourth, echo = FALSE, out.width="4in", fig.cap=''Landscape''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /end{landscape} /end{document}


No estoy seguro acerca de la cuarta página girada, pero obtener los gráficos lado a lado requiere fig.show=''hold'' y out.width=''.45//linewidth''

<<third, echo = FALSE, out.width="2in", fig.cap=''Side by side'',out.width=''.45//linewidth'',fig.show=''hold''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @


Puedo llevarte la mayor parte del camino hasta allí:

/documentclass[letterpaper]{article} /usepackage{lscape} /usepackage{float} /begin{document} <<load, echo=FALSE, results=''hide'', warning=FALSE, message=FALSE>>= require(ggplot2) @ Two on the first page. <<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos=''h''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ Blah, blah, blah. <<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos=''h''>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /newpage Second page. Side by side images: /begin{figure}[H] <<third, echo = FALSE, out.width="0.48//linewidth",fig.width = 3.5,fig.height=2>>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /caption{Side by side} /end{figure} /newpage /begin{landscape} This page is rotated. <<fourth, echo = FALSE, fig.width = 4,fig.height = 3,out.width = "0.9//linewidth">>= ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) @ /end{landscape} /end{document}

La calidad se ve bien para mí, pero solo si uso mi sistema de visor de PDF (Vista previa, OS X). El visor de PDF integrado de RStudio ha tenido problemas de renderizado en el pasado, por lo que no lo uso.

No estoy seguro de cómo forzar a la figura en la página de paisaje a estar debajo del texto. Normalmente, lo haría con el paquete flotante como en las cifras anteriores, pero no parece funcionar en el paisaje. Recomiendo que consultes a la gente en tex.stackexchange.com en esa, ya que es bastante específica de LaTeX.

No es la interacción entre fig.width , fig.height y out.width . Juega con ambos y observa qué ocurre con el tamaño de la imagen en comparación con la escala de los elementos dentro de la imagen. Uno influye en el tamaño real de la figura cuando se crea, y el otro influye en cómo se escala esa imagen cuando se incluye en el documento LaTeX (creo).

También tenga en cuenta que utilicé el /caption{} en el entorno de figuras para el lado a lado, ya que de lo contrario, tratará de crear un título para cada figura.