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


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。