2012-05-13 11 views
22

He estado usando knitr por un par de días, ¡es genial! :)Alinea las parcelas una al lado de la otra con knitr

Por el momento estoy luchando para alinear dos tramas una al lado de la otra en el archivo de salida (un PDF). Desde mi punto de vista, esto debe lograrse configurando out.width='.4\\linewidth' o algo similar en las opciones de fragmentos.

Las parcelas resultantes son bastante pequeñas, 2 encajarían fácilmente una junto a la otra, pero de alguna manera, se colocan todas una debajo de la otra.

También estoy teniendo problemas para alinear las tablas de látex (xtable -output con results='asis' -opción) a la izquierda del documento. Sería genial escribir al lado.

+1

¿Puede proporcionar un ejemplo mínimo simple. ¿Archivo RNW que lo ilustra que no funciona? – joran

+0

usando par (mfrow = c (1, 2)) en el fragmento de código no lo hace? – Kay

Respuesta

18

Puesto que no se ha proporcionado uno, lo haré para usted:

\documentclass{article} 
\begin{document} 

Side by side images: 

\begin{figure}[htpb] 
<<myChunk, fig.width=3, fig.height=2.5, out.width='.49\\linewidth', fig.show='hold'>>= 
par(mar=c(4,4,.1,.1),cex.lab=.95,cex.axis=.9,mgp=c(2,.7,0),tcl=-.3) 
plot(cars) 
boxplot(cars$dist,xlab='dist') 
@ 
\end{figure} 

Ta da! 

\end{document} 

lo que resulta en algo que se ve más o menos como esto para mí cuando corro knitr:

enter image description here

Tenga en cuenta el truco con la configuración par para asegurarse de que todo se ve bien. Usted tiene que jugar.

Este ejemplo reproducible mínimo se derivó del muy detallado examples en el sitio web knitr.

Editar

Para responder a su segunda pregunta, aunque es más una cuestión de puro látex, aquí es un ejemplo mínimo:

\documentclass{article} 
\usepackage{wrapfig,lipsum} 
%------------------------------------------ 
\begin{document} 
This is where the table goes with text wrapping around it. You may 
embed tabular environment inside wraptable environment and customize as you like. 
%------------------------------------------ 
\begin{wraptable}{l}{5.5cm} 
\caption{A wrapped table going nicely inside the text.}\label{wrap-tab:1} 
<<mychunk,results = asis,echo = FALSE>>= 
library(xtable) 
print(xtable(head(cars)),floating = FALSE) 
@ 
\end{wraptable} 
%------------------------------------------ 
\lipsum[2] 
\par 
Table~\ref{wrap-tab:1} is a wrapped table. 
%------------------------------------------ 
\end{document} 

Una vez más, código simplemente adaptada encontré en this pregunta en el increíblemente sitio útil tex.stackexchange.com.

+0

¿Qué sucede si tiene dos parcelas de tamaños muy diferentes? Debo colocar la leyenda para un diagrama al lado y no sé cómo conseguirlo. –

+1

¿Cómo incluirías esto en un fragmento estándar ** RMarkdown **? –

Cuestiones relacionadas