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