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


R viewportTransform 定義組轉換


R語言 viewportTransform 位於 grid 包(package)。

說明

這些函數定義當 grid.define() d 組為 grid.use() d 時將應用的轉換。

用法

viewportTransform(group, shear=groupShear(), flip=groupFlip(), device=TRUE) 
viewportTranslate(group, device=TRUE)
viewportScale(group, device=TRUE)
viewportRotate(group, device=TRUE)
defnTranslate(group, inverse=FALSE, device=TRUE)
defnScale(group, inverse=FALSE)
defnRotate(group, inverse=FALSE, device=TRUE)
useTranslate(inverse=FALSE, device=TRUE)
useScale(inverse=FALSE)
useRotate(inverse=FALSE, device=TRUE)
groupTranslate(dx=0, dy=0)
groupRotate(r=0, device=TRUE)
groupScale(sx=1, sy=1)
groupShear(sx=0, sy=0)
groupFlip(flipX=FALSE, flipY=FALSE)

參數

group

正在轉型的群體。

inverse

指示我們是否想要向前或向後轉換的邏輯。

shear

說明剪切變換的仿射變換矩陣。

flip

說明縮放反轉的仿射變換矩陣。

dx, dy

要應用的翻譯。

r

要應用的輪換。

sx, sy

要應用的縮放(或剪切)。

flipX, flipY

是否否定x-scaling或y-scaling(邏輯)。

device

指示變換是相對於設備還是相對於當前視口的邏輯。

細節

viewport*() 函數不會直接調用。它們作為 transform 參數傳遞給 grid.use

defn*()use*() 函數也不會直接調用,但可用於創建自定義轉換函數。例如,請參閱 viewportTransform 的源代碼。

group*() 函數生成基本的仿射變換矩陣,也可用於創建自定義變換函數。例如, groupShear() 函數可用於指定對 viewportTransform() 的剪切變換。

還可以定義任何返回 3x3 矩陣的函數(隻要最後一列包含 0、0 和 1)並將其用作 grid.usetransform 參數,但結果可能是 device-dependent,並且可能很難預測。該函數將使用兩個參數調用: groupdevice

仿射變換矩陣。

例子

## NOTE: on devices without support for groups nothing will be drawn
grid.newpage()
## Define and use group in same viewport
pushViewport(viewport(width=.2, height=.2))
grid.define(circleGrob(gp=gpar(lwd=5)), name="circle")
grid.use("circle")
popViewport()
## Use group in viewport that is translated and scaled
pushViewport(viewport(x=.2, y=.2, width=.1, height=.1))
grid.use("circle")
popViewport()
## Use group in viewport that is translated and scaled
## BUT only make use of the translation
pushViewport(viewport(x=.2, y=.8, width=.1, height=.1))
grid.use("circle", transform=viewportTranslate)
popViewport()
## Use group in viewport that is translated and scaled
## unevenly (distorted)
pushViewport(viewport(x=.8, y=.7, width=.2, height=.4))
grid.use("circle")
popViewport()

作者

Paul Murrell

也可以看看

grid Grid

相關用法


注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Define a Group Transformation。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。