私はRとLaTeXの両方の初心者で、最近Rを使用して標準時系列グラフをプロットし、PNG画像として保存する方法を見つけました。私が心配しているのは、画像として保存してからLaTeXに埋め込むと、スケーリングされて見栄えが悪くなることです。
Rのplot()
関数がベクターグラフィックスを出力し、それをLaTeXに埋め込む方法はありますか?私は両方とも完全に初心者なので、優しくしてください:)コードスニペットは大歓迎です!
シェーンはスポットオンです、あなたはスウィーヴが欲しいです。最終的に。
初心者としては、タスクを分離する方が良いかもしれません。そのために、これを行います:
pdf("figures/myfile.pdf", height=6, width=6)
。plot(1:10, type='l', main='boring')
-そして、ラティスとggplotがprint
の周りに明示的なplot
を必要とすることを思い出してください。dev.off()
ファイルをファイナライズします。usepackage{graphicx}
を使用し、\includegraphics[width=0.98\textwidth]{figures/myfile}
は、前に作成した図を含め、ファイル拡張子はオプションです。pdflatex
で実行してお楽しみください。LaTeXドキュメントに含めるための出力を生成するには、tikzDevice
パッケージをお勧めします。
http://cran.r-project.org/web/packages/tikzDevice/index.html
TikzDeviceは、Rで生成されたグラフィックを、LaTeXパッケージtikz
で解釈できるコードに変換します。 TikZは、LaTeX用の非常に素晴らしいベクター描画システムを提供します。 TikZ出力の良い例は次の場所にあります。
tikzDevice
は、他のRグラフィックデバイスと同様に使用できます。
_require( tikzDevice )
tikz( 'myPlot.tex' )
plot( 1, 1, main = '\\LaTex\\ is $\\int e^{xy}$' )
dev.off()
_
Rは単一のバックスラッシュをエスケープ文字として解釈するため、LaTeXマクロのバックスラッシュは2重にする必要があることに注意してください。 LaTeXドキュメントでプロットを使用するには、単にそれを含めます:
_\include{path/to/myPlot.tex}
_
pgfSweave
パッケージには、上記の手順を処理できるSweave
機能が含まれています。文書にLaTeXプリアンブルのどこかに_\usepackage{tikz}
_が含まれていることを確認してください。
tikz()
と比較したpdf()
関数の利点は次のとおりです。
Figureのラベルとキャプションのフォントは、LaTeXドキュメントで使用されるフォントと常に一致します。これにより、ドキュメントが統一された外観になります。
数学的な注釈を作成するために利用できるLaTeXタイプセッターのすべての能力を備えており、Figureテキストで任意のLaTeXコードを使用できます。
tikz()
関数の欠点は次のとおりです。
多数のコンポーネントを含むプロットを処理するのにうまくスケーリングしません。これらは、大きな行列のpersp()
プロットなどです。グラフィック要素のせん断数により、LaTeXのクロール速度が低下したり、メモリが不足したりする可能性があります。
パッケージは現在ベータ版としてフラグが付けられています。これは、作成者がそうする説得力のある理由を見つけた場合、パッケージのインターフェースまたは機能が変更される可能性があることを意味します。
私がtikzDevice
とpgfSweave
の両方のパッケージの著者であることを放棄することでこの投稿を終了する必要があります。ただし、昨年は両方のパッケージを使用していくつかの学術報告書を作成し、結果に非常に満足しています。
Sweave の使用を検討することもできます。これについては、Sweave Webサイト(および他の場所)で多くの優れたドキュメントを利用できます。構文は非常に単純です。Rコードを_<<>>=
_と_@
_の間に置くだけです。
最後に このように見える になる簡単な例を示します。
_\documentclass[a4paper]{article}
\title{Sweave Example 1}
\author{Friedrich Leisch}
\begin{document}
\maketitle
In this example we embed parts of the examples from the
\texttt{kruskal.test} help page into a \LaTeX{} document:
<<>>=
data(airquality)
library(ctest)
kruskal.test(Ozone ~ Month, data = airquality)
@
which shows that the location parameter of the Ozone
distribution varies significantly from month to month. Finally we
include a boxplot of the data:
\begin{center}
<<fig=TRUE,echo=FALSE>>=
boxplot(Ozone ~ Month, data = airquality)
@
\end{center}
\end{document}
_
ドキュメントを作成するには、R内から_R CMD Sweave file.Rnw
_を呼び出すか、Sweave(file)
を実行するだけです。
これは、SOについての質問の重複です。
しかし: http://r-forge.r-project.org/projects/tikzdevice/ -rからのtikz出力と http://www.rforge.net/pgfSweave/ sweave経由のtikzコード。
Tikzを使用すると、ドキュメントの残りの部分と一貫した外観が得られます。さらに、latexを使用してグラフ内のすべてのテキストを植字します。
[〜#〜] edit [〜#〜]LaTeXをRプロットに入れる