unit
位於 grid
包(package)。 說明
該函數創建一個單位對象——單位值的向量。單位值通常隻是具有關聯單位的單個數值。
用法
unit(x, units, data=NULL)
is.unit(x)
參數
x |
一個數值向量。 對於 |
units |
指定相應數值單位的字符向量。 |
data |
此參數用於為特殊 |
細節
單位對象允許用戶在大量不同的坐標係中指定位置和尺寸。所有繪圖都相對於視口進行,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"
-
文本行。位置和尺寸以視口默認文本大小的倍數表示(由視口的
fontsize
和lineheight
指定)。 "char"
-
視口標稱字體高度的倍數(由視口的
fontsize
指定)。 "native"
-
位置和尺寸相對於視口的
xscale
和yscale
。 "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
也可以看看
相關用法
- R unit.pmin 並行單元最小值和最大值
- R unit.rep 複製單元對象的元素
- R unitType 返回單位對象的單位
- R unit.length 單位對象的長度
- R unit.c 組合單元對象
- R grid.curve 在位置之間繪製曲線
- R legendGrob 構建一個圖例 Grob
- R grid.draw 畫一個網格
- R grid.stroke 描邊或填充路徑
- R viewportTransform 定義組轉換
- R grid.raster 渲染光柵對象
- R showGrob 標簽網格塊
- R gridCoords 為網格對象創建坐標集
- R grid.points 繪製數據符號
- R grid.force 強製將一個對象放入其組件中
- R grobCoords 計算 Grob 周長上的點
- R Working 維護和導航網格視口樹
- R grid.display.list 控製網格顯示列表
- R dataViewport 根據數據創建帶有比例的視口
- R stringWidth 創建說明字符串或數學表達式的寬度和高度的單位
- R grid.show.viewport 繪製網格視口圖
- R validDetails 自定義網格 grob 驗證
- R grid.segments 繪製線段
- R grid.frame 創建用於包裝對象的框架
- R gPath 連接 Grob 名稱
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Function to Create a Unit Object。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。