4

各プロットのパネルの幅が各プロットの xlim に比例する単一のプロット ウィンドウで複数のプロットを作成したいと考えています。

現時点で私は使用しています:

layout(matrix(c(1:8,10,9), 5, 2, byrow = FALSE), widths=2)       
layout.show(10)

width基本的に、列内のすべてのプロットではなく、各プロットに個別に適用したいと考えています。これを行う最善の方法は何ですか?

4

1 に答える 1

5

layoutプロットが通常のグリッド上に配置できる場合にのみ機能しますが、幅が同じである必要はありません。

layout(
  matrix(
    c(1,1,2,3,3,2,4,5,5,6,6,6), 
    nc=3, byrow = TRUE
  )
)
layout.show(6)

本当に不規則なものが必要な場合は、 を使用できますpar(fig=...,new=TRUE)

plot.new()
par(mar=c(2,2,1,1))
k <- 4
f <- function() 
  plot(rnorm(20),rnorm(20), xlab="", ylab="", main="", las=1)
for(i in 1:k) {
  par(fig=c(0,i/(k+1), (i-1)/k, i/k), new=TRUE)
  f()
  par(fig=c(i/(k+1),1, (i-1)/k, i/k), new=TRUE)
  f()
}
于 2012-06-02T08:30:49.823 に答える