Display a graphic in report with sweave : 只显示最终报告,没有中间文件
Display a graphic in report with sweave : Just display the final report and no intermediate file
我很了解 R,但我从 Sweave 开始。
我在 Rstudio 下使用几个脚本生成报告:
- graphic.R 定义了一个用 ggplot2 创建的图形,名为 graph_1。我想在报告中显示它。
- script.Rnw 包含 Latex 和 Sweave 代码。我调用 graph_1 来显示我的图形。
- main.R 执行 .Rnw 代码并因此生成报告的脚本。
在graphic.R
library(ggplot2)
graph_1 <- ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point(aes(color=Species, shape=Species))
在script.Rnw
\documentclass[french,12pt]{article}
\begin{document}
... no important...
\begin{figure}[h]
\begin{center}
<< fig=TRUE, echo=FALSE, height = 2.5>>=
graph_1
@
\caption{caption figure 1}
\label{graph_1}
\end{center}
\end{figure}
\end{document}
在main.R
Sweave("script.Rnw", encoding="UTF-8")
tools:::texi2dvi(file="script.tex"), pdf=TRUE)
一切正常:我的报告 (.pdf) 已在文件夹中生成。但我还有一个文件:'script-001.pdf' 包含我添加到同一文件夹中的图形。
我只想要最终报告而不想要中间文件:所以不是文件 'script-001.pdf'。
有人知道这是否可能吗?
谢谢,
需要图形文件以便 LaTeX 可以包含它。但是你可以在 运行 Sweave 和 LaTeX 之后安全地删除它。
我也不喜欢我的工作目录中到处都是中间 PDF。所以我把它们放在一个名为 figures
的文件夹中。使用 Sweave,您可以通过设置合适的前缀来完成此操作:
\SweaveOpts{prefix.string=figures/fig}
您还需要自己创建 figure
文件夹才能使用。
个人推荐:您可能想看看 knitr – 在我看来,它是 Sweave 的更强大的现代版本。
我很了解 R,但我从 Sweave 开始。
我在 Rstudio 下使用几个脚本生成报告:
- graphic.R 定义了一个用 ggplot2 创建的图形,名为 graph_1。我想在报告中显示它。
- script.Rnw 包含 Latex 和 Sweave 代码。我调用 graph_1 来显示我的图形。
- main.R 执行 .Rnw 代码并因此生成报告的脚本。
在graphic.R
library(ggplot2)
graph_1 <- ggplot(data=iris, aes(x = Sepal.Length, y = Sepal.Width)) + geom_point(aes(color=Species, shape=Species))
在script.Rnw
\documentclass[french,12pt]{article}
\begin{document}
... no important...
\begin{figure}[h]
\begin{center}
<< fig=TRUE, echo=FALSE, height = 2.5>>=
graph_1
@
\caption{caption figure 1}
\label{graph_1}
\end{center}
\end{figure}
\end{document}
在main.R
Sweave("script.Rnw", encoding="UTF-8")
tools:::texi2dvi(file="script.tex"), pdf=TRUE)
一切正常:我的报告 (.pdf) 已在文件夹中生成。但我还有一个文件:'script-001.pdf' 包含我添加到同一文件夹中的图形。
我只想要最终报告而不想要中间文件:所以不是文件 'script-001.pdf'。 有人知道这是否可能吗?
谢谢,
需要图形文件以便 LaTeX 可以包含它。但是你可以在 运行 Sweave 和 LaTeX 之后安全地删除它。
我也不喜欢我的工作目录中到处都是中间 PDF。所以我把它们放在一个名为 figures
的文件夹中。使用 Sweave,您可以通过设置合适的前缀来完成此操作:
\SweaveOpts{prefix.string=figures/fig}
您还需要自己创建 figure
文件夹才能使用。
个人推荐:您可能想看看 knitr – 在我看来,它是 Sweave 的更强大的现代版本。