0

プロットがlapply関数を使用して生成される単一の格子プロットに複数の格子プロットをプロットするにはどうすればよいですか?

以下は、組み込みのデータセットを使用してこれまでに試したことのデモンストレーションですmtcars

require(lattice)

response <- c("cyl","disp","hp","drat")

par(mfrow=c(2,2))

lapply(response, function(variable) {
  print(xyplot(mtcars$mpg ~ mtcars[variable]))
})

これにより、目的のプロットが生成されます。ただし、par(mfrow=c(2,2))指示を無視して、各プロットを個別にプロットしているようです。

4

3 に答える 3

3

ラティスの組み込みのファセットまたはビューポート オプションを本当に使用したくない場合はpar(mfrow)、次のようにしての動作を再現できます。

require(lattice)

response <- c("cyl","disp","hp","drat")

# save all plots in a list
pl <- lapply(response, function(variable) {
  xyplot(mtcars$mpg ~ mtcars[variable])
})

library(gridExtra)
# arrange them in a 2x2 grid
do.call(grid.arrange, c(pl, nrow=2))
于 2013-05-20T19:52:56.593 に答える
1

あなたの例は、 がどのようlatticeに使用されることを意図したものではありません(gridより適切でしょう)。

ここにlattice解決策があります:

xyplot(mpg ~ cyl+disp+hp+drat,
       data=mtcars,
       groups=cyl+disp+hp+drat,
       scales=list(relation="free"),
       col="blue"
)

ここに画像の説明を入力

于 2013-05-20T03:06:56.753 に答える
0

このページの multiplot 関数は、1 つのページに複数のプロット オブジェクトを取得するために何度も使用したものです。

于 2013-05-20T17:29:32.323 に答える