如何使用带刻面包装的标签生成独特的刻面标签?

How to use labeller with facet wrap to generate unique facet labels?

考虑这个例子,如果我想用字母表的前 11 个字母标记每个面?而不是齿轮的价值然后是碳水化合物。

data(mtcars)
ggplot(mtcars)+
  geom_point(aes(x = hp, y = disp))+
  facet_wrap(gear~carb, labeller = c(LETTERS[1:11]))

我不会用facet_grid

可以这样实现:

labels 是具有两个列 gearcarb 的 data.frame,其中每一行对应于两个变量的一个组合。贴标签者应该 return 一个列表或数据框,例如当使用列表时,第一个元素是标签的第一行,第二个元素是第二行 ...

因此,要用字母标记切面,我们只需要 return 一个包含一个元素的列表,即 LETTERS.

的前 nrow(labels) 个元素
library(ggplot2)

ggplot(mtcars)+
  geom_point(aes(x = hp, y = disp))+
  facet_wrap(gear~carb, labeller = function(labels) list(LETTERS[1:nrow(labels)]))