我有一个数据集,我想从中绘制小倍数,特别是在 2×2 数组中,如下所示:
mydf <- data.frame(letter = factor(rep(c("A", "B", "C", "D"), each = 20)), x = rnorm(80), y = rnorm(80))
ggplot(mydf, aes(x = x, y = y)) + geom_smooth(method = "lm") + geom_point() + facet_wrap(~ letter, ncol = 2)
但是,我希望每个方面标签都包含一个表达式,例如
expression(paste("A or ", alpha))
我可以使用facet_grid()
via
f_names <- list('A' = expression(paste("A or ", alpha)), 'B' = expression(paste("B or ", beta)), 'C' = expression(paste("C or ", gamma)), 'D' = expression(paste("D or ", delta)))
f_labeller <- function(variable, value){return(f_names[value])}
ggplot(mydf, aes(x = x, y = y)) + geom_smooth(method = "lm") + geom_point() + facet_grid(~ letter, labeller = f_labeller)
但后来我失去了 2×2 数组。如何facet_wrap()
使用表达式重命名构面标签?或者,我如何通过使用 重新创建 2×2 数组来解决这个问题facet_grid()
,但只能通过单个变量进行刻面?
(这个问题建立在@baptiste 对上一个问题的回答中的括号内。)
谢谢!