R 如何在Swave中创建并包含png绘图

R 如何在Swave中创建并包含png绘图,r,plot,latex,png,sweave,R,Plot,Latex,Png,Sweave,我有一个包含数百万个数据点的绘图,所以我希望首先制作一个png,然后包括它。但是,在编译时,我遇到了无法包含png的问题 \documentclass{article} \usepackage{graphicx} \begin{document} \begin{figure}[htb] <<fig=TRUE,echo=FALSE>>= png('test.png') plot(rnorm(100)) dev.off() @ \includegraphics{test}

我有一个包含数百万个数据点的绘图,所以我希望首先制作一个
png
,然后包括它。但是,在编译时,我遇到了无法包含
png
的问题

\documentclass{article}
\usepackage{graphicx}

\begin{document}

\begin{figure}[htb]
<<fig=TRUE,echo=FALSE>>=
png('test.png')
plot(rnorm(100))
dev.off()
@
\includegraphics{test}
\end{figure}

\end{document}
除非我的
Rnw
文件中有上述代码,否则它一直有效。错误消息:

Error in texi2dvi(file = file, pdf = TRUE, clean = clean, quiet = quiet,  : 
  Running 'texi2dvi' on 'report.tex' failed.
LaTeX errors:
!pdfTeX error: pdflatex (file ./report-019.pdf): PDF inclusion: requir
ed page does not exist <0>
 ==> Fatal error occurred, no output PDF file produced!
> Sweave("report.Rnw") ; texi2pdf("report.tex")
Writing to file report.tex
texi2dvi中的错误(file=file,pdf=TRUE,clean=clean,quiet=quiet,: 在“report.tex”上运行“texi2dvi”失败。 乳胶错误: !pdfTeX错误:pdflatex(文件./report-019.pdf):pdf包含:require 已删除的页面不存在 ==>发生致命错误,未生成输出PDF文件! >swave(“report.Rnw”);texi2pdf(“report.tex”) 写入文件report.tex
首先,创建一个函数来输出.png(或.pdf,或其他)文件 为此创建一个单独的文件夹(
images\u plot
如下)

然后使用Tex来显示它:

<<echo = FALSE, results=tex>>=
for (i in x)
{
  cat('\\begin{figure}[h]\n')
  file = paste('images_plot/', i, '.pdf', sep = '')
  cat('\\includegraphics{', file, '}\n', sep = '')
  cat('\\end{figure}\n')
}
@
=
对于(x中的i)
{
cat('\\begin{figure}[h]\n')
文件=粘贴('images_plot/',i'.pdf',sep='')
cat('\\includegraphics{',file'}\n',sep='')
cat('\\end{figure}\n')
}
@

我就是这样做的,希望能有所帮助!

这是一个错误,因为您的区块有
fig=TRUE
,但没有在那里生成任何swave图。

如果您可以选择使用
knitr
而不是
swave
,那么您可以指定
dev=“png”
在区块选项中。如果您指定
fig.cap
参数,它甚至会为您设置地物环境:

\documentclass{article}

\begin{document}

<<test,dev="png",fig.cap="My figure",fig.pos="htb">>=
plot(rnorm(100))
@

\end{document}
\documentclass{article}
\开始{document}
=
绘图(rnorm(100))
@
\结束{document}

很抱歉这么晚了,我要做的就是使用这个echo选项:

\documentclass[11pt]{article}
\usepackage{graphicx, verbatim}

\begin{document}

<<fig=TRUE,echo=FALSE>>=
boxplot(rnorm(100))
@

\end{document}
\documentclass[11pt]{article}
\usepackage{graphicx,逐字记录}
\开始{document}
=
箱线图(rnorm(100))
@
\结束{document}

但是OP有相同的参数。你的回答没有说明它是否有效,也没有向任何寻求帮助的人充分解释(未经证实的)更改的作用。是的,没有说明任何事情,只是想让它以更整洁的方式工作。
\documentclass{article}

\begin{document}

<<test,dev="png",fig.cap="My figure",fig.pos="htb">>=
plot(rnorm(100))
@

\end{document}
\documentclass[11pt]{article}
\usepackage{graphicx, verbatim}

\begin{document}

<<fig=TRUE,echo=FALSE>>=
boxplot(rnorm(100))
@

\end{document}