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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。