6

PDF ファイルの 3 ページにわたって 3x3 グリッド レイアウトを配置したいと考えています。3 ページにわたって任意のグリッド位置にプロットしたいと思います。のようなオプションを使用して複数のサブプロットを配置する方法を知っていますlayout=c(3,3)。grid パッケージを使用して 3x3 レイアウトを 1 つのプロットに配置する方法を理解してから、使用するプロットを選択することにしました。ただし、3x3 グリッドを 3 ページにレイアウトし、どのグリッドにプロットするかを選択する方法がわかりません。

grid.newpage()次のように、私の問題を解決することを望んでいました。

library(grid)
pdf(file="griddtest.pdf",paper="letter")
vp1 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"), 
    name = "vp1")
vp2 <- viewport(x = 0, y = 0.5, w = 0.5, h = 0.5, just = c("left", "bottom"), 
    name = "vp2")
pushViewport(vp1)
grid.text("Some drawing in graphics region 1 on page 1",y = 0.8)
grid.newpage()
pushViewport(vp2)
grid.text("Some drawing in graphics region 2 on page 2",y = 0.8)
dev.off()

しかし、これは2番目のページを生成するだけです(「新しいページ」は、新しいページを作成するのではなく、古いページを上書きすると思います)。

どんな助けでも大歓迎です!

4

1 に答える 1

1

9 つのパネルがあり、レイアウトで 3 つのパネルを指定する場合、たとえば、

xyplot(runif(9) ~ 1:9 | 1:9, layout = c(1,3))

次に、3 つのグラフが描画されます。GUI ウィンドウにプロットする場合、プロットは上書きされますが、PDF に保存する場合は連続したページに表示されます。


編集: プロットがページの 3 分の 1 だけを占めるようにするには、呼び出しでプロットの高さを調整しますpdf

pdf(..., height = 3)
# ...
dev.off()

デフォルトでは、各プロットが各ページの中央に描画されます。を設定pagecentre = FALSEすると、各ページの下部にプロットが表示されます。pdfそれらを上部に表示するオプションが見つかりませんでした。

プロットの配置をより適切に制御するには、まずプロットを eps (postscript関数を使用) または png に保存します。

sweaveその後、これらのファイルを含め、好きなようにフォーマットされた pdf を作成するために使用できます。または、選択したワード プロセッサでドキュメントを作成し、画像ファイルを手動でインポートします。

于 2010-11-01T22:54:08.797 に答える