當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。