axis.default
位於 lattice
包(package)。 說明
點陣函數提供對如何通過通用接口注釋繪圖軸的控製。有兩個級別的控製。 xscale.components
和 yscale.components
參數可以是確定給定數據包的刻度線位置和標簽的函數。為了更直接的控製,axis
參數可以是實際繪製軸的函數。此處記錄的函數是這些參數的默認值。它們還可以用作用戶編寫的替換組件。
用法
xscale.components.default(lim,
packet.number = 0,
packet.list = NULL,
top = TRUE,
...)
yscale.components.default(lim,
packet.number = 0,
packet.list = NULL,
right = TRUE,
...)
axis.default(side = c("top", "bottom", "left", "right"),
scales, components, as.table,
labels = c("default", "yes", "no"),
ticks = c("default", "yes", "no"),
..., prefix)
參數
lim |
該數據包中的數據範圍(對應於條件變量級別組合的數據子集)。範圍不一定是數字;例如對於因子,它們可以是表示級別的字符向量,對於各種日期時間表示,它們可以是具有相應類別的長度為 2 的向量。 |
packet.number |
正在處理哪個數據包(根據數據包順序計數,如 |
packet.list |
列表中,隻要有數據包的數量,就給出所有實際的數據包。具體來說,每個組件都是當該數據包在麵板中繪製時給予麵板函數的參數列表。 (這尚未實施。) |
top , right |
結果的 |
side |
軸應繪製在哪一側。應用通常的部分匹配規則。 |
scales |
提供給高級函數的 |
components |
列表,類似於 |
as.table |
高級函數中的 |
labels |
是否要繪製標簽。默認情況下,使用 |
ticks |
是否要繪製標簽。默認情況下,使用 |
... |
可以提供許多其他參數,並將其傳遞給其他內部函數。 |
prefix |
標識正在繪製的圖的字符串(請參閱 |
細節
這些函數是lattice 0.14中引入的新API的一部分,旨在為用戶提供對如何完成軸注釋的更多控製。雖然 API 的設計考慮到了以前不支持的用途,但實現最初側重於重現現有函數,而不是測試新函數。在撰寫本文時,有幾個函數尚未實現。如果您需要它們,請聯係維護者。
值
xscale.components.default
和 yscale.components.default
返回適合作為 axis.default
的 components
參數的形式的列表。 xscale.components.default
返回值中的有效組件是:
num.limit
-
框的數字限製。
bottom
-
包含兩個元素
ticks
和labels
的列表。ticks
必須是一個包含組件at
和tck
的列表,它們給出刻度線的位置和長度。tck
可以是一個向量,並且將被回收到與at
一樣長。labels
必須是包含組件at
、labels
和check.overlap
的列表。at
和labels
給出刻度標簽的位置和標簽;這通常與刻度的位置相同,但不要求如此。check.overlap
是一個邏輯標誌,指示在渲染時是否應通過省略一些標簽來避免標簽重疊。 top
-
這可以是一個邏輯標誌;如果
TRUE
,top
被視為與bottom
相同;如果FALSE
,則省略頂部軸的軸注釋。或者,top
可以是類似bottom
的列表。
yscale.components.default
返回值中的有效組件是 left
和 right
。它們的解釋類似於(分別)上述的 bottom
和 top
組件。
例子
str(xscale.components.default(c(0, 1)))
set.seed(36872)
rln <- rlnorm(100)
densityplot(rln,
scales = list(x = list(log = 2), alternating = 3),
xlab = "Simulated lognormal variates",
xscale.components = function(...) {
ans <- xscale.components.default(...)
ans$top <- ans$bottom
ans$bottom$labels$labels <- parse(text = ans$bottom$labels$labels)
ans$top$labels$labels <-
if (require(MASS))
fractions(2^(ans$top$labels$at))
else
2^(ans$top$labels$at)
ans
})
## Direct use of axis to show two temperature scales (Celcius and
## Fahrenheit). This does not work for multi-row plots, and doesn't
## do automatic allocation of space
F2C <- function(f) 5 * (f - 32) / 9
C2F <- function(c) 32 + 9 * c / 5
axis.CF <-
function(side, ...)
{
ylim <- current.panel.limits()$ylim
switch(side,
left = {
prettyF <- pretty(ylim)
labF <- parse(text = sprintf("%s ~ degree * F", prettyF))
panel.axis(side = side, outside = TRUE,
at = prettyF, labels = labF)
},
right = {
prettyC <- pretty(F2C(ylim))
labC <- parse(text = sprintf("%s ~ degree * C", prettyC))
panel.axis(side = side, outside = TRUE,
at = C2F(prettyC), labels = labC)
},
axis.default(side = side, ...))
}
xyplot(nhtemp ~ time(nhtemp), aspect = "xy", type = "o",
scales = list(y = list(alternating = 3)),
axis = axis.CF, xlab = "Year", ylab = "Temperature",
main = "Yearly temperature in New Haven, CT")
## version using yscale.components
yscale.components.CF <-
function(...)
{
ans <- yscale.components.default(...)
ans$right <- ans$left
ans$left$labels$labels <-
parse(text = sprintf("%s ~ degree * F", ans$left$labels$at))
prettyC <- pretty(F2C(ans$num.limit))
ans$right$ticks$at <- C2F(prettyC)
ans$right$labels$at <- C2F(prettyC)
ans$right$labels$labels <-
parse(text = sprintf("%s ~ degree * C", prettyC))
ans
}
xyplot(nhtemp ~ time(nhtemp), aspect = "xy", type = "o",
scales = list(y = list(alternating = 3)),
yscale.components = yscale.components.CF,
xlab = "Year", ylab = "Temperature",
main = "Yearly temperature in New Haven, CT")
作者
Deepayan Sarkar Deepayan.Sarkar@R-project.org
也可以看看
相關用法
- R panel.xyplot xyplot 的默認麵板函數
- R xyplot.ts 時間序列繪圖方法
- R panel.bwplot bwplot 的默認麵板函數
- R panel.loess 添加黃土平滑的麵板函數
- R lset 修改網格設置的接口 - 已失效
- R panel.axis 繪圖軸刻度和標簽的麵板函數
- R Rows 從列表中提取行
- R panel.number 在繪圖期間訪問輔助信息
- R trellis.par.get 網格顯示的圖形參數
- R update.trellis 檢索和更新網格對象
- R barley 明尼蘇達州大麥試驗的產量數據
- R panel.functions 有用的麵板函數組件
- R prepanel.functions Lattice 有用的 Prepanel 函數
- R xyplot 常見的二變量網格圖
- R simpleTheme 生成簡單主題的函數
- R panel.parallel 並行的默認麵板函數
- R print.trellis 繪製和總結網格對象
- R panel.cloud 雲默認麵板函數
- R packet.panel.default 將數據包與麵板關聯
- R levelplot 水平圖和等高線圖
- R trellis.device 初始化網格顯示
- R cloud 3d 散點圖和線框曲麵圖
- R tmd Tukey 均差圖
- R panel.pairs splom 的默認超級麵板函數
- R draw.colorkey 通常為水平圖生成色鍵
注:本文由純淨天空篩選整理自R-devel大神的英文原創作品 Default axis annotation utilities。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。