6

gridパッケージのRベースプロットを「強制」することは可能grid.newpageですか? たとえば、これは正常に機能します。

library(grid)
grid.newpage()
vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom"))
vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom"))
pushViewport(vp1)
grid.rect()
grid.text("vp1", 0.5, 0.5)
upViewport()
pushViewport(vp2)
grid.rect()
grid.text("vp2", 0.5, 0.5)

ここに画像の説明を入力.

しかし、私がこのようなことをしようとすると:

grid.newpage()
vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom"))
vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom"))
pushViewport(vp1)
grid.rect()
print(plot(1,2))
grid.text("vp1", 0.5, 0.5)
upViewport()
pushViewport(vp2)
grid.rect()
print(plot(1,2))

R ベース プロットはオーバーライドするだけgrid.newpageです。使用par(new=T)しても役に立ちません。

4

1 に答える 1

7

誰も答えてくれなかったので、自分でやります。Andrie が言ったように、この質問に対する答えはここにあります。の代わりにR ベース プロットをプロットするにはgridFIG()、パッケージの関数が必要です。gridBaseplot.new()grid.newpage()

library(grid)
library(gridBase)
plot.new()
vp1 <- viewport(x=0,y=0.5,width=0.5, height=0.5, just = c("left", "bottom"))
vp2 <- viewport(x=0.5,y=0,width=0.5, height=0.5, just = c("left", "bottom"))
pushViewport(vp1)
grid.rect()
grid.text("vp1", 0.5, 0.5)
par(new=TRUE, fig=gridFIG())
plot(1,2)
upViewport()
pushViewport(vp2)
grid.rect()
grid.text("vp2", 0.5, 0.5)
par(new=TRUE, fig=gridFIG())
plot(1,2)

ここに画像の説明を入力

于 2013-02-23T10:43:25.870 に答える