6

R と Package tikz デバイスを使用して tikz を Latex に送信する、2 つのプロットを連続して作成することに関する質問があります。私がやりたいことは、2 つのグラフを連続してプロットすることです。par(mfrow=c(1,2))最初に行ったのは、雰囲気の中にプロットを作成することでした。しかし、Latex で印刷する場合、プロットは垂直の長方形のようになるため、これはうまくいきません。私がしたいのは、2次の2枚の写真を続けて取得することです。次に、レイアウトを作成しました。

Layout<- matrix(c(1, 2), nrow = 1, ncol=2, byrow = TRUE)
nf <- layout(mat = Layout, widths = c(1,1),heights = c(1,1), respect = TRUE)
layout.show(nf)

そして2つのグラフをプロットしました。結果は 2 次 (これは良いことです) ですが、(Latex で) 2 つのプロットにキャプションを追加すると、グラフから遠く離れています。私は何をするつもりですか?どんな考えでも大歓迎です!

4

2 に答える 2

6

尊重 = TRUE を指定したため、デバイス内のプロットは高さの半分のみを占め (tikz デバイスでデフォルトを使用している場合)、残りの高さは空白で埋められます。キャプションを追加すると、その空白によってプロットからオフセットされます。tikz デバイスを開いたときに、高さが幅の半分に近くなるように高さと幅を設定すると、最終的に余白が少なくなり、キャプションがプロットに近くなります。

于 2011-05-05T15:24:43.197 に答える
2

グレッグが述べたように、正方形のプロットが必要で、R に空白の大きな境界線を埋めたくない場合は、プロット キャンバスの幅と高さを調整する必要があります。

Sweave を使用した最小限の例を次に示します。

\documentclass{article}
\usepackage{Sweave}
\usepackage{tikz}
<<echo=FALSE,results=hide>>=
  require(tikzDevice)
@

\begin{document}

\begin{figure}
<<echo=FALSE,results=hide>>=
  # Standard LaTeX article class has a \textwidth of ~4.5in
  # Therefore, divide by 2 to get the right height.
  tikz('layout-ex.tex', width = 4.5, height = 2.25)

  Layout<- matrix(c(1, 2), nrow = 1, ncol=2, byrow = TRUE)
  nf <- layout(mat = Layout, widths = c(1,1),heights = c(1,1), respect = TRUE)
  layout.show(nf)

  dev.off()
@

  \centering
  \input{layout-ex}
  \label{fig:layout-ex}
  \caption{A layout with two sub-figures}
\end{figure}

\end{document}

結果の図は次のようになります。

レイアウトの使用例

于 2011-05-10T16:10:04.340 に答える