3

そのため、Sweave を使用して、大量のポイントを持つグラフを含む PDF を作成しています。pdf は十分に取得できますが、大量のレイヤーで作成されているように見えるため、Acrobat や Reader でファイルを開くのは困難です。そうすれば、文字通り、ドキュメントにポイントがロードされるのを見ることができます。

かさばらないように Sweave で pdf を平坦化する方法はありますか?

(私はRStudioを使用していることに注意してください。おそらく別のものを使用する必要があることはわかっていますが、これほどスムーズに機能するものはまだ見つかりません。)

4

3 に答える 3

4

すでに述べたように、おそらくKnitrに切り替える必要があります。これにより、pdf と他の形式の間のスワッピングがより快適になります。特に、以下を確認する必要があります。

PNG デバイスの使用例を次に示します。

\documentclass{article}
\begin{document}

<<gen_fig, dev='png'>>=
n <- 100000
DF <- data.frame(x=rnorm(n), y=rnorm(n))
plot(DF)
@

\end{document}

に指定する必要はありませfig=TRUEknitr。パッケージ内の PNG デバイスの画質がgraphics十分でない場合は、他の PNG デバイスに簡単に切り替えることができdev='CairoPNG'ます'Cairo_png'。Sweave では、同じことを行うためのコードをさらに記述するだけです。

于 2012-10-29T09:17:24.707 に答える
4

Gavin が言ったように、これを行うために切り替える必要はありませんがknitr、そうする利点は他にもあります。ただし、独自の保存コードとインクルード コードを記述する必要さえありません。Sweave はそれを行うことができます。初期ドキュメントが次の場合:

\documentclass{article}
\usepackage[american]{babel}
\begin{document}

<<>>=
n <- 100000
DF <- data.frame(x=rnorm(n), y=rnorm(n))
@

<<gen_fig, fig=TRUE>>=
plot(DF)
@

\end{document}

次に、引数を Figure チャンクに変更するだけで、PDF の代わりに PNG を取得できます。

<<gen_fig, fig=TRUE, png=TRUE, pdf=FALSE>>=
plot(DF)
@

この簡単な例では、最終的な PDF を 685K から 70K に縮小します。

于 2012-10-29T16:05:32.360 に答える