将grob添加到R中的基准图

将grob添加到R中的基准图,r,plot,viewport,grob,R,Plot,Viewport,Grob,我想将使用包RGraphics中的splitTextGorb构建的多行文本添加到基本图中。我尝试了以下方法,但不起作用(即文本不显示在绘图上) 布局(矩阵(c(1,2),nrow=2,byrow=TRUE,高度=c(1,1.5)) 绘图(…) grob=splitTextGrob(“这是我的文本”) plot.new() vp.BottomRight您需要对grob和gTree对象使用grid.draw() grid.text()仅用于文本和plotmath表达式。这使用gridBase软件包将

我想将使用包
RGraphics
中的
splitTextGorb
构建的多行文本添加到基本图中。我尝试了以下方法,但不起作用(即文本不显示在绘图上)

布局(矩阵(c(1,2),nrow=2,byrow=TRUE,高度=c(1,1.5))
绘图(…)
grob=splitTextGrob(“这是我的文本”)
plot.new()

vp.BottomRight您需要对grob和gTree对象使用
grid.draw()


grid.text()
仅用于文本和plotmath表达式。

这使用gridBase软件包将文本添加到绘图的当前视口中

library(RGraphics)
library(gridExtra)
library(gridBase)


layout(matrix(c(1,2), nrow=2, byrow=TRUE))

# First base plot
plot(1:10)

# Grid regions of base plot
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)

# Text grob
grob <-  splitTextGrob("This is my text")
vp.BottomRight <- viewport(height=unit(.1, "npc"), width=unit(0.1, "npc"), 
                       just=c("left","top"), 
                       y=0.2, x=0.8 )
# Add text grob
pushViewport(vp.BottomRight)
grid.draw(grob)

upViewport(4) 


# Second plot
plot(1:10)
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
pushViewport(vp.BottomRight)
grid.draw(grob)
库(RGraphics)
图书馆(gridExtra)
图书馆(gridBase)
布局(矩阵(c(1,2),nrow=2,byrow=TRUE))
#第一基线图
绘图(1:10)
#底图的网格区域

vps我认为您已经找到了解决方案,请选择一个答案。谢谢
library(RGraphics)
library(gridExtra)
library(gridBase)


layout(matrix(c(1,2), nrow=2, byrow=TRUE))

# First base plot
plot(1:10)

# Grid regions of base plot
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)

# Text grob
grob <-  splitTextGrob("This is my text")
vp.BottomRight <- viewport(height=unit(.1, "npc"), width=unit(0.1, "npc"), 
                       just=c("left","top"), 
                       y=0.2, x=0.8 )
# Add text grob
pushViewport(vp.BottomRight)
grid.draw(grob)

upViewport(4) 


# Second plot
plot(1:10)
vps <- baseViewports()
pushViewport(vps$inner, vps$figure, vps$plot)
pushViewport(vp.BottomRight)
grid.draw(grob)