此函数可以轻松地将不同的贴标机分配给不同的因子。贴标器可以是一个函数,也可以是用作查找表的命名字符向量。
用法
labeller(
...,
.rows = NULL,
.cols = NULL,
keep.as.numeric = deprecated(),
.multi_line = TRUE,
.default = label_value
)
参数
- ...
-
形式为
variable = labeller
的命名参数。每个标签器都会传递给as_labeller()
,并且可以是查找表、获取和返回字符向量的函数,或者只是一个标签器函数。 - .rows, .cols
-
整个边距(行或列)的贴标机。它被传递给
as_labeller()
。设置 margin-wide 贴标机时,请确保不要在...
中提及属于边距的任何变量。 - keep.as.numeric
-
所有提供的标签器和on-labeller函数应该能够使用字符标签。
- .multi_line
-
是否在单独的行上显示多个因子的标签。这被传递给贴标器函数。
- .default
-
未指定变量的默认标签器。也可与查找表或非标签函数一起使用。
细节
对于函数,如果贴标器具有类 labeller
,则它会直接应用于标签的 DataFrame 。否则,它将应用于标签 DataFrame 的列。然后使用 .default
参数中指定的函数处理数据帧。这旨在与采用字符向量的函数一起使用,例如 Hmisc::capitalize()
。
例子
# \donttest{
p1 <- ggplot(mtcars, aes(x = mpg, y = wt)) + geom_point()
# You can assign different labellers to variables:
p1 + facet_grid(
vs + am ~ gear,
labeller = labeller(vs = label_both, am = label_value)
)
# Or whole margins:
p1 + facet_grid(
vs + am ~ gear,
labeller = labeller(.rows = label_both, .cols = label_value)
)
# You can supply functions operating on strings:
capitalize <- function(string) {
substr(string, 1, 1) <- toupper(substr(string, 1, 1))
string
}
p2 <- ggplot(msleep, aes(x = sleep_total, y = awake)) + geom_point()
p2 + facet_grid(vore ~ conservation, labeller = labeller(vore = capitalize))
# Or use character vectors as lookup tables:
conservation_status <- c(
cd = "Conservation Dependent",
en = "Endangered",
lc = "Least concern",
nt = "Near Threatened",
vu = "Vulnerable",
domesticated = "Domesticated"
)
## Source: http://en.wikipedia.org/wiki/Wikipedia:Conservation_status
p2 + facet_grid(vore ~ conservation, labeller = labeller(
.default = capitalize,
conservation = conservation_status
))
# In the following example, we rename the levels to the long form,
# then apply a wrap labeller to the columns to prevent cropped text
idx <- match(msleep$conservation, names(conservation_status))
msleep$conservation2 <- conservation_status[idx]
p3 <- ggplot(msleep, aes(x = sleep_total, y = awake)) + geom_point()
p3 +
facet_grid(vore ~ conservation2,
labeller = labeller(conservation2 = label_wrap_gen(10))
)
# labeller() is especially useful to act as a global labeller. You
# can set it up once and use it on a range of different plots with
# different facet specifications.
global_labeller <- labeller(
vore = capitalize,
conservation = conservation_status,
conservation2 = label_wrap_gen(10),
.default = label_both
)
p2 + facet_grid(vore ~ conservation, labeller = global_labeller)
p3 + facet_wrap(~conservation2, labeller = global_labeller)
# }
相关用法
- R ggplot2 labellers 有用的贴标机函数
- R ggplot2 label_bquote 带有数学表达式的标签
- R ggplot2 labs 修改轴、图例和绘图标签
- R ggplot2 layer 创建一个新层
- R ggplot2 lims 设置规模限制
- R ggplot2 annotation_logticks 注释:记录刻度线
- R ggplot2 vars 引用分面变量
- R ggplot2 position_stack 将重叠的对象堆叠在一起
- R ggplot2 geom_qq 分位数-分位数图
- R ggplot2 geom_spoke 由位置、方向和距离参数化的线段
- R ggplot2 geom_quantile 分位数回归
- R ggplot2 geom_text 文本
- R ggplot2 get_alt_text 从绘图中提取替代文本
- R ggplot2 annotation_custom 注释:自定义grob
- R ggplot2 geom_ribbon 函数区和面积图
- R ggplot2 stat_ellipse 计算法行数据椭圆
- R ggplot2 resolution 计算数值向量的“分辨率”
- R ggplot2 geom_boxplot 盒须图(Tukey 风格)
- R ggplot2 geom_hex 二维箱计数的六边形热图
- R ggplot2 scale_gradient 渐变色阶
- R ggplot2 scale_shape 形状比例,又称字形
- R ggplot2 geom_bar 条形图
- R ggplot2 draw_key 图例的关键字形
- R ggplot2 annotate 创建注释层
- R ggplot2 annotation_map 注释:Map
注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Construct labelling specification。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。