【发布时间】:2013-10-09 21:15:50
【问题描述】:
我有一个数据集,我想从中绘制小的倍数,特别是在 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() 来实现这一点
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() 构面标签?或者,我如何通过使用facet_grid() 重新创建 2×2 数组来解决这个问题,但只能通过单个变量进行刻面?
(这个问题建立在@baptiste 对this previous question 的回答中的括号内。)
谢谢!
【问题讨论】:
-
@baptiste:是的!谢谢,您链接到的问答中的
facet_wrap_labeller()功能效果很好。 @Ricardo:感谢那个链接——我找到了那个答案,它最初把我推向了这个问题。谢谢你们。