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


R unit 创建单元对象的函数


R语言 unit 位于 grid 包(package)。

说明

该函数创建一个单位对象——单位值的向量。单位值通常只是具有关联单位的单个数值。

用法

unit(x, units, data=NULL)
is.unit(x)

参数

x

一个数值向量。

对于 is.unit ,任何 R 对象。

units

指定相应数值单位的字符向量。

data

此参数用于为特殊 unit 类型提供额外信息。

细节

单位对象允许用户在大量不同的坐标系中指定位置和尺寸。所有绘图都相对于视口进行,units 指定在该视口内使用的坐标系。

可能的units(坐标系)是:

"npc"

标准化父坐标(默认)。视口的原点为 (0, 0),视口的宽度和高度均为 1 个单位。例如,(0.5, 0.5) 是视口的中心。

"cm"

厘米。

"inches"

英寸。 1 英寸 = 2.54 厘米。

"mm"

毫米。 10 毫米 = 1 厘米。

"points"

积分。 72.27 磅 = 1 英寸

"picas"

毕卡斯。 1 件 = 12 分

"bigpts"

大要点。 72 bp = 1 英寸。

"dida"

迪达。 1157 dd = 1238 点

"cicero"

西塞罗。 1 cc = 12 dd。

"scaledpts"

缩放点。 65536 sp = 1 分

"lines"

文本行。位置和尺寸以视口默认文本大小的倍数表示(由视口的 fontsizelineheight 指定)。

"char"

视口标称字体高度的倍数(由视口的 fontsize 指定)。

"native"

位置和尺寸相对于视口的 xscaleyscale

"snpc"

平方归一化父坐标。与标准化父坐标相同,但对于水平和垂直位置/尺寸给出相同的答案。它使用npc-width 和npc-height 中的较小者。这对于制作占视口一定比例但必须是正方形(或具有固定纵横比)的东西很有用。

"strwidth"

data 参数中指定的字符串宽度的倍数。字体大小由视口的点大小决定。

"strheight"

data 参数中指定的字符串高度的倍数。字体大小由视口的点大小决定。

"grobwidth"

data 参数中指定的 grob 宽度的倍数。

"grobheight"

data 参数中指定的 grob 高度的倍数。

最常见的单位也可以有多种变化。例如,可以使用 "in""inch" 代替 "inches" ,并使用 "centimetre""centimeter" 代替 "cm"

还允许使用 "null" 的特殊 units 值,但仅在用于指定网格布局中的列宽或行高时才有意义(请参阅 grid.layout )。

unit.length() 大于 1 时,data 参数必须是列表。例如,

  unit(rep(1, 3), c("npc", "strwidth", "inches"),
  data = list(NULL, "my string", NULL))

.

可以以正常方式对单元对象进行子集化并执行子分配(参见示例),但提供了一个特殊函数unit.c用于组合单元对象。

为单位对象定义了某些算术和汇总运算。特别是,可以添加和减去单元对象(例如, unit(1, "npc") - unit(1, "inches") ),并指定单元对象列表的最小值或最大值(例如, min(unit(0.5, "npc"), unit(1, "inches")) )。

单位有一个 format 方法,它应该响应默认 format 方法的参数,例如 digits 来控制为数值打印的有效位数。

is.unit() 函数可以方便地检查x 是否继承自"unit" 类。

"unit" 的对象。

警告

有一个特殊函数unit.c 用于连接多个单元对象。

c 函数不会给出正确的答案。

曾经有 "mylines""mychar""mystrwidth""mystrheight" 单元。这些仍然会被接受,但工作方式与 "lines""char""strwidth""strheight" 完全相同。

例子

unit(1, "npc")
unit(1:3/4, "npc")
unit(1:3/4, "npc") + unit(1, "inches")
min(unit(0.5, "npc"), unit(1, "inches"))
unit.c(unit(0.5, "npc"), unit(2, "inches") + unit(1:3/4, "npc"),
       unit(1, "strwidth", "hi there"))
x <- unit(1:5, "npc")
x[2:4]
x[2:4] <- unit(1, "mm")
x

作者

Paul Murrell

也可以看看

unit.c

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Function to Create a Unit Object。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。