SWEAVEとGGPLOT2:PDFはまったく生成されません
-
26-09-2020 - |
質問
GGPLOT2で行われたグラフィックを含む範囲のレポートを作成しようとしています。私は長いランのためのいくつかの環境を探しています - 私は単純な.rnwファイルをここに含めるだけで、コードとプロット
のみが含まれています。 \documentclass[a4paper]{article}
\SweaveOpts{echo=FALSE}
\usepackage{a4wide}
\begin{document}
\begin{figure}[htbp]
\begin{center}
<<>>=
library(ggplot2)
x=rnorm(100)
qplot(x)
@
\caption{My Graph}
\end{center}
\end{figure}
\end{document}
.
残念ながらグラフが作成されていません、私は破損した.pdfと.epsファイルのみを取得します。グラフィックを除いて作業するように見えます。 次の基本コードを使用して作成します。
Sweave("myfile.Rnw")
.
私はちょうど透明性と掃除/ ggplot2の問題について話し合っていたのはいくつかの古い投稿を見つけました、しかし助けてくれるものは何もありません。私はまたリラックスしたパッケージを試しました、そしてどちらも助けませんでした。BTW、Decumar Packageに関するニュースはありますか?
解決
qplot()
は、グラフィック出力ではなくオブジェクトを生成します。実行すると、割り当てなしでは、Rは自動的にqplot()
の出力を印刷しているためです。それを範囲に統合するには、print()
の周囲のqplot()
をラップするか、qplot()
の出力を何かに割り当ててから、それをprint()
に囲みます。
...
<<fig = T, echo = F>>=
library(ggplot2)
x=rnorm(100)
p <- qplot(x)
print(p)
@
...
.
それはうまくいくべきです。私の掃引文書で常にggplot2
グラフィックを使用します。
他のヒント
監査停止に働くためにprint()
を囲む必要があります。
実際には、両方の前回の回答が正しいですが、問題は他のものです。
コードブロック全体がページの左側にあることを確認する必要があります(機能の鍵の並べ替え)。繰り返しますが、私は理由はわかりませんが、これは渦の問題を引き起こします。
すべてのコード(およびコードチャンク)がページの左側にある(そしてPRINTステートメントを追加する)ことを確実にした後、それらの例は私にとって機能します。
偶然に、私は今日学んだ文書の範囲であなたのコードの周りに環境を作ることができることを学びました(私は知りませんでした、そして私を多くの時間を節約するでしょう)。古いスタックオーバーフロー、あなたが質問に答えても新しいものを教える!
これが役立つことを願っています。