指定 ggplot2 标签选项而不传递标签值

Specify ggplot2 labeller options without passing label values

我有一个分面点图,分面基于多个因素:

p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed')

我很高兴 ggplot2 使用 modelrun 的现有唯一值来构建构面标签,但我希望它们跨越一行,而不是多行。然而,

p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed',
  labeller = label_value(multi_line = FALSE)

导致缺少参数错误,因为label_value() expects the argument labels first:

Error in lapply(labels, as.character) :
  argument "labels" is missing, with no default

鉴于指定了多个分面变量,我不确定如何提供此信息。如果我完全不考虑贴标机,ggplot2 似乎很乐意自己解决。

您想传递函数而不调用它(在构建绘图时将使用标签调用它),所以:

p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed',
  labeller = function(labs) {label_value(labs, multi_line = FALSE)})