如何在grid.newpage中使用R基本图? [英] How to use R base plots in grid.newpage?

查看:709
本文介绍了如何在grid.newpage中使用R基本图?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在grid包的grid.newpage中强制" R基础图?例如,这可以正常工作:

Is it possible to "force" R base plots in grid package's grid.newpage? For example, this works fine:

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)

.

但是,如果我尝试这样的事情:

But if I try something like this:

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)也无济于事.

R base plot just over-rides grid.newpage. Using par(new=T) does not help either.

推荐答案

因为没有人回答这个问题,所以我自己做.如Andrie所说,此问题的答案是这里.您将需要gridBase包中的gridFIG()函数在plot.new()中而不是grid.newpage()中绘制R基本图:

Because no-one answered this, I'll do it myself. As Andrie said, the answer to this question is here. You'll need gridFIG()function from gridBase package to plot R base plots in plot.new() instead of 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)

这篇关于如何在grid.newpage中使用R基本图?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆