2012-12-28 10 views
14

以前はRStudioを使ってggplot2を作成し、RSudio内からPDFとして書き出しました。これは素晴らしいことです。knitrとRStudioを使ったLaTeX pdfへのggplot2出力の埋め込み

私は今、knitrを使用して自動化しようとしていますが、グラフの高さと重さを設定して高品質の出力を作成する場所を調べるのに問題があります。

これは私の現在の試みですが、「横並び」グラフは回転していません。横向きのグラフは表示されず、解像度が低いようです。

アドバイスありがとうございます。 ggplot2とknitrの両方が積極的に開発されているようですが、インターネット検索は私の悲惨さにつながっています。 LaTeXは私にとって初めてのものです。また、このツールセットの一般的なワークフロー戦略にも感謝します。前もって感謝します。

\documentclass[letterpaper]{article} 
\usepackage{lscape} 
\begin{document} 
<<load, echo=FALSE, results='hide', warning=FALSE, message=FALSE>>= 
require(ggplot2) 
@ 

Two on the first page. 
<<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

Blah, blah, blah. 
<<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\newpage 
Second page. 

Side by side images: 

<<third, echo = FALSE, out.width="2in", fig.cap='Side by side'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\newpage 
\begin{landscape} 
This page is rotated 
<<fourth, echo = FALSE, out.width="4in", fig.cap='Landscape'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\end{landscape} 
\end{document} 

答えて

9

私はあなたが道のほとんどを得ることができます。

\documentclass[letterpaper]{article} 
\usepackage{lscape} 
\usepackage{float} 
\begin{document} 
<<load, echo=FALSE, results='hide', warning=FALSE, message=FALSE>>= 
require(ggplot2) 
@ 

Two on the first page. 
<<first, echo=FALSE, fig.height=3, fig.cap="This is first", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

Blah, blah, blah. 
<<second, echo=FALSE, fig.height=3, fig.cap="This is second", fig.pos='h'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 

\newpage 
Second page. 

Side by side images: 

\begin{figure}[H] 
<<third, echo = FALSE, out.width="0.48\\linewidth",fig.width = 3.5,fig.height=2>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\caption{Side by side} 
\end{figure} 

\newpage 
\begin{landscape} 
This page is rotated. 
<<fourth, echo = FALSE, fig.width = 4,fig.height = 3,out.width = "0.9\\linewidth">>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
\end{landscape} 
\end{document} 

品質は私には正常に見えるが、私は私のシステムのPDFビューア(プレビュー、OSのX)を使用する場合にのみ。ビルドされたRStudio PDFビューアには、これまで私がレンダリングに問題があったので、私はそれを使用しません。

横向きのページの図をテキストの下に強制する方法がわかりません。通常、私は前の図と同じようにフロートパッケージを使用しますが、ランドスケープでは動作しないようです。私はそれがかなりLaTeXのものなので、あなたはそれをtex.stackexchange.comであなたに話すことをお勧めしたいと思います。

fig.widthfig.heightout.widthの間の相互作用ではありません。両方で再生し、イメージ内の要素のスケーリングとイメージのサイズの違いを確認します。 1つは作成時に実際のFigureのサイズに影響を与え、もう1つはLaTeXドキュメントにその画像がどのようにスケーリングされるかに影響を与えます(私は思う)。

図形環境では\caption{}をサイドバイサイドで使用しました。それ以外の場合は各図形のキャプションを作成しようとします。

6

回転4ページ目について確認が、サイド・バイ・サイドプロットを得ることはfig.show='hold'out.width='.45\\linewidth'

<<third, echo = FALSE, out.width="2in", fig.cap='Side by side',out.width='.45\\linewidth',fig.show='hold'>>= 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
ggplot(mtcars, aes(mpg, wt))+geom_point()+facet_grid(vs ~ am, margins=TRUE) 
@ 
を必要としません
関連する問題