0

3 つのプロットが密接に変化するようにプロットしたいので、それらは 1 つのフィールドとして表示されます。私のデータは次元の異なる配列です。私の問題を表示するためのコード例を次に示します。

library(lattice)

theme.novpadding = list(layout.heights = list(top.padding = 0,
                                          main.key.padding = 0,
                                          key.axis.padding = 0,
                                          axis.xlab.padding = 0,
                                          xlab.key.padding = 0,
                                          key.sub.padding = 0,
                                          bottom.padding = 0),
                    layout.widths =  list(left.padding = 0,
                                          key.ylab.padding = 0,
                                          ylab.axis.padding = 0,
                                          axis.key.padding = 0,
                                          right.padding = 0),
                    axis.line = list(col = "transparent"))


p1 = levelplot(array(c(1:100), c(10,10)), colorkey=F, par.settings=theme.novpadding)
p2 = levelplot(array(c(1:100), c(9,9)), colorkey=F, ylab = NULL, par.settings=theme.novpadding)
p3 = levelplot(array(c(1:100), c(11,11)),  ylab=NULL, par.settings=theme.novpadding)

width = 0.33
height = 1

ph = list(5, "in")

print(p1, position = c(0, 0, width, height), panel.height=ph, more=T)
print(p2, position = c(width, 0, 2*width, height), panel.height=ph, more=T)
print(p3, position = c(2*width, 0, 3*width, height),panel.height=ph, more=F)

ご覧のとおり、それらは非常に広く広がっています。私はそれらをできるだけ近づけたい。theme.novpadding を使用してマージンをゼロに設定します。「プロット間の距離」のような言い方ですか?

4

2 に答える 2

0

使用できるトリックは、を微調整することposition argumentです。エリアをオーバーラップさせない代わりに、エリアを互いに近づけるためにそれを行うことができます。たとえば、位置引数を次のように変更できます。

ovr = 0.05
print(p1, position = c(0, 0, width + ovr, height), panel.height=ph, more=T)
print(p2, position = c(width - ovr, 0, 2*width+ovr, height), panel.height=ph, more=T)
print(p3, position = c(2*width - ovr, 0, 3*width, height),panel.height=ph, more=F)

これを微調整する必要がありますが、私はこのコードをテストしていません。しかし、私は一般的な考え方がうまくいくはずだと思います。

于 2013-03-12T11:11:12.033 に答える