是否有一种简单的方法(例如,通过块选项)来获取块的源代码及其并排生成的图,如第8页(以及其他)this document?
我尝试使用out.width="0.5\\textwidth", fig.align='right'
,这使得绘图正确占据页面的一半并与右边对齐,但源代码显示在其上,这是正常行为。
我想把它放在情节的左侧。
由于
示例代码:
<<someplot, out.width="0.5\\textwidth", fig.align='right'>>=
plot(1:10)
@
答案 0 :(得分:8)
嗯,这最终比我预期的更棘手。
在LaTeX方面,adjustbox package可以很好地控制并排框的对齐,就像在tex.stackexchange.com上很好地展示in this excellent answer一样。所以我的一般策略是用LaTeX代码包装指定的R chunk的格式化,整理,着色输出:(1)将它放在adjustbox环境中; (2)在其右侧的另一个调整框环境中包含块的图形输出。为了实现这一点,我需要将 knitr 的默认块输出钩子替换为文档(2)
部分<<setup>>=
中定义的自定义块输出钩子。块。
(1)
的{{1}}部分定义了一个块挂钩,可用于临时设置R的全局选项(特别是此处为<<setup>>=
) - 基础。 See here只提供一个问题和答案,仅仅处理这个设置的一部分。
最后,第options("width")
节定义了一个knitr&#34;模板&#34;,每次生成并排的代码块和数字时需要设置的一组选项。一旦定义,它允许用户通过在块的标题中键入(3)
来触发所有必需的操作。
opts.label="codefig"
答案 1 :(得分:4)
我看到了3种可能性
beamer
演示文稿,我也会选择\begin{columns}
... \end{columns}
。对于所有三个,块选项将具有include = FALSE
,并且该图将“手动”放置在\includegraphics[]{}
的正确位置。
答案 2 :(得分:2)
您可以在&#39; textplot&#39;中显示文字。来自PerformanceAnalytics或gplots。
(小)缺点:据我所知,没有语法突出显示可能。
示例代码:
```{r fig.width=8, fig.height=5, fig.keep = 'last', echo=FALSE}
suppressMessages(library(PerformanceAnalytics))
layout(t(1:2))
textplot('plot(1:10)')
plot(1:10)
```