当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R grid.force 强制将一个对象放入其组件中


R语言 grid.force 位于 grid 包(package)。

说明

有些 grobs 仅在绘制时生成要绘制的内容;此函数将此类 grobs 替换为其 at-drawing-time 内容。

用法

grid.force(x, ...)
## Default S3 method:
grid.force(x, redraw = FALSE, ...)
## S3 method for class 'gPath'
grid.force(x, strict = FALSE, grep = FALSE, global = FALSE,
                           redraw = FALSE, ...) 
## S3 method for class 'grob'
grid.force(x, draw = FALSE, ...)
forceGrob(x)
grid.revert(x, ...)
## S3 method for class 'gPath'
grid.revert(x, strict = FALSE, grep = FALSE, global = FALSE,
                            redraw = FALSE, ...) 
## S3 method for class 'grob'
grid.revert(x, draw = FALSE, ...)

参数

x

对于默认方法,不应指定x。否则,x 应该是 grob 或 gPath。如果 x 是字符,则假定它是 gPath。

strict

一个布尔值,指示 path 是否必须完全匹配。

grep

path 是否应被视为正则表达式。

global

一个布尔值,指示该函数是否应仅影响 path 的第一个匹配项,或者是否应影响所有匹配项。

draw

指示在强制后是否应绘制 grob 的逻辑值。

redraw

指示强制操作后是否重绘grid场景的逻辑值。

...

方法使用的进一步论证。

细节

一些 grobs 等到绘制时间才生成实际绘制的内容(由 grid.xaxis() 生成的轴,带有 atNULL 是一个很好的例子,因为它必须了解它将是什么视口在它可以决定绘制什么刻度线之前绘制)。

此类 grobs 的内容(例如刻度线)通常对 grid.ls() 不可见,也不对 grid.edit() 访问。

grid.force() 函数用 at-drawing-time 内容替换 grob。例如,轴将被替换为普通 gTree,其中的线条和文本代表实际绘制的轴刻度线。这使得刻度线对 grid.ls() 可见并且对 grid.edit() 可以访问。

forceGrob() 函数是 grid.force() 的内部工作马,因此通常不会由用户直接调用。它被导出,以便在必要时可以为自定义 grob 类编写方法。

grid.revert() 函数反转 grid.force() 的效果,用原始 grob 替换强制内容。

警告

强制显式 grob 会产生一个结果,就好像该 grob 是在当前绘图上下文中绘制的一样。在不同的绘图上下文中绘制结果可能没有意义。

注意

这些函数仅对使用 makeContext()makeContent() 方法在绘制时生成其内容的 grobs 有效(不适用于在绘制时使用 preDrawDetails()drawDetails() 方法生成其内容的 grobs)。

例子

grid.newpage()
pushViewport(viewport(width=.5, height=.5))
# Draw xaxis
grid.xaxis(name="xax")
grid.ls()
# Force xaxis
grid.force()
grid.ls()
# Revert xaxis
grid.revert()
grid.ls()
# Draw and force yaxis
grid.force(yaxisGrob(), draw=TRUE)
grid.ls()
# Revert yaxis
grid.revert()
grid.ls()
# Force JUST xaxis
grid.force("xax")
grid.ls()
# Force ALL
grid.force()
grid.ls()
# Revert JUST xaxis
grid.revert("xax")
grid.ls()

作者

Paul Murrell

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Force a grob into its components。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。