0

私は何百万ものデータポイントを含むプロットを持っているので、最初に作成して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}

上記の MWE を呼び出した後、R通常どおりコンソールに移動し、次のように呼び出します。

Sweave("report.Rnw")
texi2pdf("report.tex")

ファイルに上記のコードがない限り、これは常に機能し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
4

4 に答える 4

1

チャンクにはfig=TRUESweave プロットがありますが生成されないため、エラーが発生しています。

于 2013-10-18T15:59:49.963 に答える
1

まず、.png (または .pdf など) ファイルを出力する関数を作成します。このために別のフォルダーを作成するのが好きです(images_plot以下)。

for (i in x) {
  # set a real filename here, instead of 'i'
  pdf(paste('images_plot/', i, '.pdf', sep = ''), width = 10, height = 5)
  plot(x)
  dev.off()
}

次に、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')
}
@

それが私のやり方です、それが役立つことを願っています!

于 2013-10-18T15:39:34.873 に答える
0

knitr代わりにを使用するオプションがある場合は、チャンク オプションでSweave指定するだけです。引数dev="png"を指定すると、Figure 環境もセットアップされます。fig.cap

\documentclass{article}

\begin{document}

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

\end{document}
于 2014-05-22T15:15:55.143 に答える
-1

遅くなってすみません、私がすることは、このエコーオプションを使用することです:

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

\begin{document}

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

\end{document}
于 2015-10-23T20:44:49.767 に答える