R 在swave/pgfsweave编译期间避免显示图形
使用Swave/pgfsweave进行编译时,每次在R中创建图形时,图形都会显示在图形窗口中(在Swave编译过程中)。这在很多情况下都很有用,因为我可以看到在编译文档时这些数字是什么样子的 但当我通过ssh编译一个大文档时,这可能会非常慢。有没有办法告诉swave/pgfsweave在编译过程中避免显示该图(不过我还是希望最终的pdf文档中显示该图)。一个选项可以是R 在swave/pgfsweave编译期间避免显示图形,r,sweave,R,Sweave,使用Swave/pgfsweave进行编译时,每次在R中创建图形时,图形都会显示在图形窗口中(在Swave编译过程中)。这在很多情况下都很有用,因为我可以看到在编译文档时这些数字是什么样子的 但当我通过ssh编译一个大文档时,这可能会非常慢。有没有办法告诉swave/pgfsweave在编译过程中避免显示该图(不过我还是希望最终的pdf文档中显示该图)。一个选项可以是 <<label=myplotlabel, fig=TRUE, include=FALSE>>= grap
<<label=myplotlabel, fig=TRUE, include=FALSE>>=
graph code
@
对于交互式会话,
figs.only
swave选项控制此行为。要仅将图形打印到目标图形文件(而不是控制台图形窗口),请设置figs.only=TRUE
如帮助文件中所述:
仅图:逻辑('FALSE')。默认情况下,运行每个地物块
一次,然后为每个选定的图形类型重新运行。那个
将为第一个图形打开默认图形设备
块并使用该设备对所有数据进行第一次评估
后续块。如果此选项为true,则图块
仅对每种选定的图形类型运行,其中
打开新的图形设备,然后关闭
与其他swave选项一样,您可以设置此选项:(1)对于当前编译(例如swave(“example.Rnw”,figs.only=TRUE)
;(2)在.Rnw
文件中,使用\swaveopts{figs.only=TRUE}
;或(3)作为全局默认值,将swave\u options=“figs.only=TRUE”
例如,$R_HOME/etc/Renviron.site
如果您从命令行而不是在交互式会话中切换,则交互式图形窗口中不会生成图形
您只需键入R CMD swave mydoc.Rnw即可从命令行运行R,也可以通过批处理文件或大型项目的makefile来运行R。我已经开始为我的许多Swave文档使用makefiles,因为它可以处理依赖项,可以在自身之后清除,以及更多。图要在此处提及R中的默认图形设备:
现在,您可以看到:
在R 2.14.1(尚未发布)之后,您将能够将默认设备设置为空PDF设备,这既安全又快速:我建议(2)因为它是自包含的(所以总是可复制的);(1)不好,(3)更差。@Yihui--感谢您添加了它。另外(尽管它有点离题)非常感谢您在Formator软件包方面所做的工作。
\begin{figure}[h]
\includegraphics[width=6cm, height=6cm]{myplotlabel}
\caption{My Plot}
\label{fig:label}
\end{figure}