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.use
的 transform
参数,但结果可能是 device-dependent,并且可能很难预测。该函数将使用两个参数调用: group
和 device
。
值
仿射变换矩阵。
例子
## 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
也可以看看
相关用法
- R validDetails 自定义网格 grob 验证
- R vpPath 连接视口名称
- R valid.just 验证理由
- R grid.curve 在位置之间绘制曲线
- R legendGrob 构建一个图例 Grob
- R grid.draw 画一个网格
- R grid.stroke 描边或填充路径
- R grid.raster 渲染光栅对象
- R showGrob 标签网格块
- R gridCoords 为网格对象创建坐标集
- R unit.pmin 并行单元最小值和最大值
- R grid.points 绘制数据符号
- R grid.force 强制将一个对象放入其组件中
- R grobCoords 计算 Grob 周长上的点
- R unit.rep 复制单元对象的元素
- R Working 维护和导航网格视口树
- R grid.display.list 控制网格显示列表
- R dataViewport 根据数据创建带有比例的视口
- R stringWidth 创建说明字符串或数学表达式的宽度和高度的单位
- R grid.show.viewport 绘制网格视口图
- R grid.segments 绘制线段
- R grid.frame 创建用于包装对象的框架
- R gPath 连接 Grob 名称
- R calcStringMetric 计算文本的指标信息
- R grid.group 画一个组
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Define a Group Transformation。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。