【发布时间】:2013-06-11 16:14:59
【问题描述】:
我目前正在通过 Knitr 使用 R 和 LaTeX。
试图用投影仪做一个非常简单的幻灯片,我遇到了一个小问题。当我使用 \includegraphics 方法插入图像时,它很好地采用与文本长度相同的宽度。但是,当我使用 R 代码生成 ggplot2 图表时,图表宽度似乎限制在文本长度的 2/3 左右(对于信息量大的图表来说非常小)。即使设置了非常宽的图形宽度也会发生这种情况...
有没有办法删除 R 数字似乎添加的所有额外边距?
下面的代码重现了这种情况。
\documentclass{beamer}
\begin{document}
\SweaveOpts{concordance=TRUE}
\begin{frame}[fragile]{A sample slide}
Some text to show text length, Some text to show text length, Some text to show text length, Some text to show text length.
\begin{center}
<<figureExample, echo=False, fig=true, out.width=15>>=
library(ggplot2)
qplot(displ, hwy, data = mpg, colour = factor(cyl)) +
theme(plot.background = element_rect(fill='green', colour='red')) +
theme(plot.margin = unit(c(0,0,0,0), "cm"))
@
\end{center}
\end{frame}
\end{document}
任何帮助将不胜感激,我尝试了我能找到的一切:( 提前致谢!
【问题讨论】:
-
你找到 knitr 的 documentation 了吗?
-
您好,jora,我当时确实并且认为“out.width”可以解决问题,但没有成功。不过会再看。感谢您提及。
-
好吧,您的示例中没有使用 out.width ,并且使用该块选项对我有用。所以你必须提供一个更详细的例子来证明它不起作用。 (无关:您似乎使用的是相当旧的 ggplot2 版本。)
-
你是对的,我应该使用非弃用代码(更正)。如果你有时间,你能检查一下“out.width”的语法吗?它仍然对我不起作用。
-
那是因为您还没有阅读文档:“对于 LaTeX 输出,它们可以是 .8\\linewidth、3in 或 8cm”。 (当然不是那些具体的数字,但那些是它应该采用的格式。)
标签: r ggplot2 latex knitr sweave