我有一个数据集,我想从中绘制小的倍数,特别是在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)
Run Code Online (Sandbox Code Playgroud)
但是,我希望每个构面标签都包含一个表达式,例如
expression(paste("A or ", alpha))
Run Code Online (Sandbox Code Playgroud)
我可以使用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, …
Run Code Online (Sandbox Code Playgroud) 我需要使用ggplot2中的facet_wrap()将希腊字母放入facet标签中.我发现了一个描述facet_grid()的链接.我使用以下代码将其应用于我的数据:
levels(parameters) <- c(expression(alpha), expression(beta))
p + facet_grid(.~parameters, labeller = label_parsed)
Run Code Online (Sandbox Code Playgroud)
这很有效,完全符合我的要求.但是,我需要使用facet_wrap()(为两个参数获取单独的y轴,并在不同的列和行中绘制更多参数).我尝试了以下方法:
p + facet_wrap(.~parameters, labeller = label_parsed) , or
p + facet_wrap(.~parameters)
Run Code Online (Sandbox Code Playgroud)
但是这没有用,因为facet_wrap中没有"贴标机"功能.如何使用网格完成?