私はRとLaTeXの両方の初心者であり、最近、Rを使用して標準の時系列グラフをプロットし、それをpng画像として保存する方法を見つけました。私が心配しているのは、それを画像として保存してからLaTeXに埋め込むと、拡大縮小されて見栄えが悪くなることです。
Rのplot()
関数にベクターグラフィックを出力させ、それをLaTeXに埋め込む方法はありますか?私は両方とも完全に初心者なので、優しくしてください:)コードスニペットは高く評価されています!
私はRとLaTeXの両方の初心者であり、最近、Rを使用して標準の時系列グラフをプロットし、それをpng画像として保存する方法を見つけました。私が心配しているのは、それを画像として保存してからLaTeXに埋め込むと、拡大縮小されて見栄えが悪くなることです。
Rのplot()
関数にベクターグラフィックを出力させ、それをLaTeXに埋め込む方法はありますか?私は両方とも完全に初心者なので、優しくしてください:)コードスニペットは高く評価されています!
tikzDevice
LaTeXドキュメントに含める出力を生成するためのパッケージをお勧めします。
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
います。\usepackage{tikz}
ドキュメントにLaTeXプリアンブルのどこかに含まれていることを確認してください。
tikz()
と比較した場合の機能の利点 は次のpdf()
とおりです。
図のラベルとキャプションのフォントは、常にLaTeXドキュメントで使用されているフォントと一致します。これにより、ドキュメントの外観が統一されます。
数学記号の作成に利用できるLaTeXタイプセッターのすべての機能があり、図のテキストで任意のLaTeXコードを使用できます。
この機能の欠点は次のtikz()
とおりです。
多くのコンポーネントを含むプロットを処理するには、適切にスケーリングされません。これらはpersp()
、大きな行列のプロットなどです。グラフィック要素のせん断数により、LaTeXのクロールが遅くなったり、メモリが不足したりする可能性があります。
パッケージは現在ベータ版としてフラグが立てられています。これは、作者がそうするやむを得ない理由を見つけた場合、パッケージのインターフェースまたは機能が変更される可能性があることを意味します。
私はtikzDevice
とpgfSweave
パッケージの両方の作成者であることを放棄してこの投稿を終了する必要があります。そうすれば、私の意見に偏りが生じる可能性があります。しかし、私は昨年、両方のパッケージを使用していくつかの学術レポートを作成し、その結果に非常に満足しています。
シェーンはスポットオンです、あなたはスウィーブが欲しいです。最終的。
ただし、初心者としては、タスクを分離したほうがよい場合があります。そのために、これを行います:
pdf("figures/myfile.pdf", height=6, width=6)
。plot(1:10, type='l', main='boring')
。-そして、latticeとggplotには明示的なprint
aroundが必要であることを忘れないでくださいplot
。dev.off()
ファイルを完成させます。usepackage{graphicx}
ドキュメントヘッダーで使用\includegraphics[width=0.98\textwidth]{figures/myfile}
し、前に作成した図を含めるために使用し、ファイル拡張子はオプションであることに注意してください。pdflatex
お楽しみください。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出力と sweaveを介したhttp://www.rforge.net/pgfSweave/tikzコード。
tikzを使用すると、ドキュメントの他の部分と一貫性のある外観が得られます。さらに、ラテックスを使用してグラフ内のすべてのテキストを植字します。