用编织器将图表彼此对齐

时间:2012-05-13 19:27:48

标签: r latex knitr

我一直在使用knitr几天,这太棒了! :)

目前我正努力在输出文件(PDF)中将两个图表彼此相邻对齐。根据我的理解,这应该通过在块选项中设置out.width='.4\\linewidth'或类似的东西来实现。

结果图非常小,2很容易彼此相邻,但不知何故,所有图都放在彼此之下。

我也无法将乳胶表(xtable - 输出与results='asis' - 选项)对齐到文档的左侧。写下它会很棒。

1 个答案:

答案 0 :(得分:18)

由于你没有提供,我会为你做的:

\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}

当我运行 knitr 时会产生类似于此的东西:

enter image description here

请注意摆弄par设置以确保一切看起来不错。你 必须修补。

这个可重复性最小的例子来自 knitr 网站上非常详细的examples

修改

要回答你的第二个问题,即使它更像是一个纯粹的LaTeX问题,这里只是一个极小的例子:

\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}

我再次简单地修改了我在令人惊讶的有用的tex.stackexchange.com网站this问题中找到的代码。