trellis.par.get
位于 lattice
包(package)。 说明
用于查询、显示和修改图形参数以精细控制网格显示的函数。仅对当前活动设备的设置进行修改。
用法
trellis.par.set(name, value, ..., theme, warn = TRUE, strict = FALSE)
trellis.par.get(name = NULL)
show.settings(x = NULL)
参数
name |
给出组件名称的字符串。如果在 |
value |
给出组件所需值的列表。已定义为当前设置的一部分但 |
theme |
说明如何更改设置的列表,类似于 与 |
... |
可以在 |
warn |
逻辑标志,指示在没有打开图形设备的情况下调用 |
strict |
通常是一个逻辑标志,指示是否应该严格解释 通过将 |
x |
更改设置的组件的可选列表( |
细节
控制网格显示的外观和感觉的各种图形参数(颜色、线条类型、背景等)是高度可定制的。此外,R 可以在多种设备上生成图形,并且预计不同的参数集将更适合不同的设备。这些参数内部存储在名为 lattice.theme
的变量中,该变量是一个列表,其组件定义特定设备的设置。这些组件由它们所代表的设备名称(通过 .Device
获得)进行标识,并在第一次使用 trellis.device
打开新设备时创建(或者在设备上绘制点阵图)该会议中的第一次)。
每个设备的初始设置默认为适合该设备的值。在实践中,这可以归结为三种不同的设置,一种用于屏幕设备,如 x11
和 windows
,一种用于黑白图(主要用于 postscript
),一种用于彩色打印机(颜色 postcript
, pdf
)。
一旦设备打开,就可以修改其设置。当稍后使用 trellis.device
打开同一设备的另一个实例时,该设备的设置将重置为其默认值,除非在 trellis.device
调用中另有指定。但不同设备的设置是分开处理的,即打开 postscript 设备不会更改 x11 设置,只要 x11 设备处于活动状态,该设置就会保持有效。
函数 trellis.par.*
是全局设置的接口。它们始终应用于当前活动设备的设置。
trellis.par.get
调用时不带任何参数,返回活动设备的完整设置列表。当存在 name
参数时,它仅返回该组件。 trellis.par.get
将当前活动设备设置的 name
组件的值设置为 value
。
trellis.par.get
通常在网格函数内部使用,以在绘图之前获取图形参数。用户通过 trellis.par.set
进行的修改通常按如下方式完成:
add.line <- trellis.par.get("add.line")
add.line$col <- "red"
trellis.par.set("add.line", add.line)
更方便(但不兼容 S)的方法是
trellis.par.set(list(add.line = list(col = "red")))
和
trellis.par.set(add.line = list(col = "red"))
trellis.settings
中组件的实际列表尚未最终确定,因此我不会尝试在此处列出它们。当前值可以通过 print(trellis.par.get())
获取。大多数名称应该是不言自明的。
show.settings
提供图形显示,总结当前设置中的一些值。
值
trellis.par.get
返回一个列表,给出该组件的参数。如果 name
丢失,则返回完整列表。
大多数设置是控制点阵图各个元素的图形参数。有关详细信息,请参阅下面的示例。这里说明了更不寻常的设置。
grid.pars
-
除非被特定设置覆盖,否则全局有效的网格图形参数。
fontsize
-
两个组件(每个组件都是数字标量)的列表,
text
和points
分别用于文本和符号。 clip
-
两个组件的列表(每个组件都是字符串,
"on"
或"off"
):panel
和strip
。 axis.components
-
包含四个组件的列表(
left
、top
、right
、bottom
),每个列表为相应的网格布局单元提供名为tck
、pad1
和pad2
的数字乘数。 layout.heights
-
包含网格布局高度数字乘数的列表。
layout.widths
-
包含网格布局宽度数字乘数的列表。
注意
在某些方面,trellis.par.get
和 trellis.par.set
一起替代了传统 R 图形中使用的 par
函数。特别是,更改 par
设置对晶格输出影响很小(如果有的话)。由于点阵图是使用网格图形实现的,因此其参数系统确实会产生影响,除非被合适的点阵参数设置覆盖。通过将此类参数包含在 grid.pars
组件中,可以将其指定为点阵主题的一部分(有关有效参数名称的列表,请参阅 gpar
)。
例子
show.settings()
tp <- trellis.par.get()
unusual <- c("grid.pars", "fontsize", "clip", "axis.components",
"layout.heights", "layout.widths")
for (u in unusual) tp[[u]] <- NULL
names.tp <- lapply(tp, names)
unames <- sort(unique(unlist(names.tp)))
ans <- matrix(0, nrow = length(names.tp), ncol = length(unames))
rownames(ans) <- names(names.tp)
colnames(ans) <- unames
for (i in seq(along = names.tp))
ans[i, ] <- as.numeric(unames %in% names.tp[[i]])
ans <- ans[, order(-colSums(ans))]
ans <- ans[order(rowSums(ans)), ]
ans[ans == 0] <- NA
levelplot(t(ans), colorkey = FALSE,
scales = list(x = list(rot = 90)),
panel = function(x, y, z, ...) {
panel.abline(v = unique(as.numeric(x)),
h = unique(as.numeric(y)),
col = "darkgrey")
panel.xyplot(x, y, pch = 16 * z, ...)
},
xlab = "Graphical parameters",
ylab = "Setting names")
作者
Deepayan Sarkar Deepayan.Sarkar@R-project.org
也可以看看
相关用法
- R trellis.device 初始化网格显示
- R tmd Tukey 均差图
- 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 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 cloud 3d 散点图和线框曲面图
- R panel.pairs splom 的默认超级面板函数
- R draw.colorkey 通常为水平图生成色键
- R prepanel.default 默认预面板函数
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Graphical Parameters for Trellis Displays。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。