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

ren*_*nsa 3 r facet ggplot2

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

p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed')
Run Code Online (Sandbox Code Playgroud)

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

p = p + facet_wrap(~ model + run, ncol = 1, scales = 'fixed',
  labeller = label_value(multi_line = FALSE)
Run Code Online (Sandbox Code Playgroud)

导致缺少参数错误,因为首先label_value() 需要参数labels

Error in lapply(labels, as.character) :
  argument "labels" is missing, with no default
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ius 6

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

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