贴标机函数负责格式化小面网格和包的条带标签。它们中的大多数接受 multi_line
参数来控制多个因子(在公式中定义,例如 ~first + second
)是否应显示在以逗号分隔的单行上,或者每个因子都显示在自己的行上。
用法
label_value(labels, multi_line = TRUE)
label_both(labels, multi_line = TRUE, sep = ": ")
label_context(labels, multi_line = TRUE, sep = ": ")
label_parsed(labels, multi_line = TRUE)
label_wrap_gen(width = 25, multi_line = TRUE)
参数
- labels
-
标签的 DataFrame 。通常只包含一个元素,但多个因子的分面需要多个标签变量。
- multi_line
-
是否在单独的行上显示多个因子的标签。
- sep
-
分隔变量和值的字符串。
- width
-
包条带之前的最大字符数。
细节
label_value()
仅显示因子的值,而label_both()
同时显示变量名称和因子值。 label_context()
是 context-dependent,对于单因子分面使用 label_value()
,当涉及多个因子时使用 label_both()
。 label_wrap_gen()
使用base::strwrap()
进行换行。
label_parsed()
将标签解释为绘图数学表达式。 label_bquote()
提供了一种更灵活的构建绘图数学表达式的方法。有关参数语法的详细信息,请参阅示例和bquote()
。
编写新的标签函数
请注意,编写贴标器函数的一种简单方法是使用 as_labeller()
转换对字符向量进行操作的函数。
贴标器函数接受标签 DataFrame (字符向量),其中每个因子包含一列。 ~first + second
类型的公式会出现多个因子。
返回值必须是一个矩形列表,其中每个 'row' 代表一个面。列表元素可以是字符向量或绘图表达式列表。当返回多个元素时,它们会显示在自己的新行上(即每个方面都有一个多行标签条)。
为了说明这一点,假设您的贴标器返回一个由两个长度为 3 的字符向量组成的列表。这是一个矩形列表,因为所有元素都具有相同的长度。第一个方面将获取每个向量的第一个元素并将它们每个显示在自己的行上。然后第二个方面获取每个向量的第二个元素,依此类推。
如果它对您的贴标机有用,您可以检索传入标签数据帧的 type
属性。该属性的值反映贴标机正在处理的条带类型:"cols"
表示列,"rows"
表示行。请注意,facet_wrap()
默认情况下具有列,当使用 switch
选项切换条带时具有行。 facet
属性还提供标签上的元数据。它采用值 "grid"
或 "wrap"
。
为了与 labeller()
兼容,每个贴标器函数必须具有 labeller
S3 类。
例子
mtcars$cyl2 <- factor(mtcars$cyl, labels = c("alpha", "beta", "gamma"))
p <- ggplot(mtcars, aes(wt, mpg)) + geom_point()
# The default is label_value
p + facet_grid(. ~ cyl, labeller = label_value)
# \donttest{
# Displaying both the values and the variables
p + facet_grid(. ~ cyl, labeller = label_both)
# Displaying only the values or both the values and variables
# depending on whether multiple factors are facetted over
p + facet_grid(am ~ vs+cyl, labeller = label_context)
# Interpreting the labels as plotmath expressions
p + facet_grid(. ~ cyl2)
p + facet_grid(. ~ cyl2, labeller = label_parsed)
# }
相关用法
- R ggplot2 labeller 构建标签规范
- 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等大神的英文原创作品 Useful labeller functions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。