R语言
deviceLoc
位于 grid
包(package)。 说明
这些函数采用一对单位对象并将它们转换为一对以英寸(或本机设备坐标)为单位的设备位置(或尺寸)。
用法
deviceLoc(x, y, valueOnly = FALSE, device = FALSE)
deviceDim(w, h, valueOnly = FALSE, device = FALSE)
参数
x, y, w, h |
一个单位对象。 |
valueOnly |
逻辑指示。如果 |
device |
指示返回值是否应以英寸为单位或本机设备单位的逻辑。 |
细节
这些函数与 convertX()
等函数不同,因为它们从视口内的坐标系转换为设备上的英寸(即从一个视口到另一个视口),并且因为它们只处理成对的值(位置或尺寸)。
像 convertX()
这样的函数在同一视口内的不同单位之间进行转换并沿单个维度进行转换。
值
包含两个组件的列表,这两个组件都是以英寸为单位的单位对象(除非 valueOnly
是 TRUE
,在这种情况下,两个组件都是数字)。
警告
该转换仅对当前设备尺寸有效。如果调整设备大小,则至少某些转换将变得无效。
此外,返回的值仅对整个设备有意义(即,在根视口的上下文中)。
例子
## A tautology
grid.newpage()
pushViewport(viewport())
deviceLoc(unit(1, "inches"), unit(1, "inches"))
## Something less obvious
grid.newpage()
pushViewport(viewport(width=.5, height=.5))
grid.rect()
x <- unit(1, "in")
y <- unit(1, "in")
grid.circle(x, y, r=unit(2, "mm"))
loc <- deviceLoc(x, y)
loc
upViewport()
grid.circle(loc$x, loc$y, r=unit(1, "mm"), gp=gpar(fill="black"))
## Something even less obvious
grid.newpage()
pushViewport(viewport(width=.5, height=.5, angle=30))
grid.rect()
x <- unit(.2, "npc")
y <- unit(2, "in")
grid.circle(x, y, r=unit(2, "mm"))
loc <- deviceLoc(x, y)
loc
upViewport()
grid.circle(loc$x, loc$y, r=unit(1, "mm"), gp=gpar(fill="black"))
作者
Paul Murrell
也可以看看
相关用法
- R depth 确定对象的层数
- R dataViewport 根据数据创建带有比例的视口
- R drawDetails 自定义网格绘图
- R grid.curve 在位置之间绘制曲线
- R legendGrob 构建一个图例 Grob
- R grid.draw 画一个网格
- R grid.stroke 描边或填充路径
- R viewportTransform 定义组转换
- 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 stringWidth 创建说明字符串或数学表达式的宽度和高度的单位
- R grid.show.viewport 绘制网格视口图
- R validDetails 自定义网格 grob 验证
- R grid.segments 绘制线段
- R grid.frame 创建用于包装对象的框架
- R gPath 连接 Grob 名称
- R calcStringMetric 计算文本的指标信息
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Convert Viewport Location to Device Location。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。