我有一個數據集從我想積小的倍數,特別是在一個2×2陣列,像這樣:如何將表達式添加到facet_wrap中的標籤?
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))
我可以通過
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)
這一點使用facet_grid()
但後來我失去了2×2陣列。我如何使用表達式重命名facet_wrap()
構面標籤?或者,我如何通過使用facet_grid()
重新創建2乘2的數組來解決這個問題,但只能通過一個變量來分割?
(這個問題建立關括號注意到在@巴蒂斯特的回答this previous question。)
謝謝!
這是否有幫助:http://stackoverflow.com/questions/10151123/how-to-specify-columns-in-facet-grid-or-how-to-change-labels-in-facet-wrap –
@ baptiste:是的!謝謝你,鏈接到的Q&A中的'facet_wrap_labeller()'功能非常棒。 @Ricardo:感謝那個鏈接 - 我已經找到了答案,它最初把我推向了這個問題。感謝你們兩位。 – RTM