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


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。