首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将grob添加到R中的基本曲线图

将grob添加到R中的基本曲线图
EN

Stack Overflow用户
提问于 2014-03-27 21:26:44
回答 2查看 1.8K关注 0票数 1

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

代码语言:javascript
复制
layout(matrix(c(1,2), nrow=2, byrow=TRUE), heights = c(1,1.5))    
plot(...)
grob = splitTextGrob("This is my text")
plot.new()
vp.BottomRight <- viewport(height=unit(.5, "npc"), width=unit(0.5, "npc"), 
                       just=c("left","top"), 
                       y=0.5, x=0.5)
print(grob, vp = vp.BottonRight)

我知道mtext是一种将文本添加到基本绘图的选项,但我特别想使用splitTextGrob,因为它提供了mtextgrid.text()所没有的一些灵活性。

任何帮助都将不胜感激。谢谢!

EN

回答 2

Stack Overflow用户

发布于 2014-03-27 23:23:35

您将希望对grob和gTree对象使用grid.draw()

grid.text()仅适用于文本和绘图数学表达式。

票数 1
EN

Stack Overflow用户

发布于 2014-03-28 02:53:20

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

代码语言:javascript
复制
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)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22689076

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档