重定向R输出和图形

时间:2011-08-27 04:49:33

标签: r latex ggplot2

我使用Sweave和LaTex从R输出和图形创建报告。但有时需要以可编辑的格式绘制图表。我尝试了R2wd包,但ggplot2似乎不太灵活。如果有人向我指出一些有效的方法,我将非常感激。感谢

2 个答案:

答案 0 :(得分:4)

pgfSweave将Sweave与tikzDevice链接在一起。 tikzDevice使用LaTeX tikz包将指令绘制成LaTeX代码。因此,您可以将生成的代码从一个文件复制到另一个文件。 pgfSweave还添加了一些便利的功能,如缓存。

您也可以使用pdf()输出绘图的PDF,然后插入LaTeX代码以将这些绘图加载为数字。你失去了Sweave的自动化文件管理。

答案 1 :(得分:4)

这实际上取决于“可编辑”的含义,以及您正在谈论的文件/端点类型。那里有很多讨论(例如this R-help thread from 2006)关于(1)生成嵌入Word(或PowerPoint,几乎是同一个问题)的数字的最佳选项,以及(2)最佳选项可以编辑的数字( I 表示非R用户可以修改它们,而不仅仅是从文件移动到文件)。我看到的一般结论是:

  • PDF文件:矢量格式,可在Adobe Illustrator中编辑($$$),只能在MS Office文档中进行排序 -
  • Windows元文件或扩展元文件(WMF / EMF):矢量格式,Windows平台以外的非常有限的支持。有点不稳定的格式,但MS Office原生。肯定会对alpha通道(透明度)之类的东西提供有限的支持。
  • SVG:矢量格式。非常现代,可在Inkscape中编辑(不知道在哪里),特别是MS Office兼容(我认为)。 (至少可以通过Cairo包生成。)
  • PNG:光栅格式,但非常紧凑(你可以使分辨率荒谬地大,但仍然有一个相当小的输出文件);如果您只需要可移植性而不是可编辑性,那么可能是最简单/最低通用分母的解决方案。

从R 2.13.0开始,Sweave可以为每个图块自动生成PDF和PNG文件。如果保存为文档foo.Rnw

\documentclass{article}
\begin{document}

\SweaveOpts{png=TRUE,pdf=TRUE,eps=FALSE}
<<fig1,fig=TRUE>>=
plot(1:5,1:5,col=1:5,pch=16)
@

\end{document}

...然后在Sweave目录之后将包含文件foo-fig1.pngfoo-fig1.pdf。我不知道这是否能回答你的问题,但你的问题并不完全清楚......