R: re-label facet_wrap 标题中含有等号的字符串
R: re-label facet_wrap title with a character string that contains an equal sign
library(ggplot2)
library(tidyverse)
data <- as.data.frame(matrix(rnorm(60),20,3))
data$factor <- c(rep("f1", 4),rep("f2", 4), rep("f3", 4), rep("f4",4),rep("f5", 4))
names(data) <- c("A", "B", "C", "factor")
melted <- melt(data)
melted$factor <- factor(melted$factor,
levels=paste0('f', 1:5),
labels=c('beta[sigma]^2=1', 'beta[sigma]^2=2', 'beta[sigma]^2=3', 'beta[sigma]^2=4', 'beta[sigma]^2=5'))
p <- ggplot(melted, aes(variable, value)) +
stat_boxplot(geom ='errorbar') +
geom_boxplot()
p + facet_wrap(~factor, labeller=label_parsed)
是否有不同的方法来指定情节标题中的等号,使其周围没有括号?
一个选项是跳过 factor/labels
方法并使用 label_bquote
格式化 factor
列
library(ggplot2)
library(dplyr)
melted %>%
mutate(new = readr::parse_number(factor)) %>%
ggplot(aes(variable, value)) +
stat_boxplot(geom = 'errorbar') +
geom_boxplot() +
facet_wrap(~ new, labeller = label_bquote(beta[sigma]^2==.(new)))
-输出
如果我们想将 OP 的选项与 label_parsed
一起使用,请将 labels
中的 =
更改为 ==
melted$factor <- factor(melted$factor,
levels=paste0('f', 1:5),
labels=c('beta[sigma]^2==1',
'beta[sigma]^2==2',
'beta[sigma]^2==3',
'beta[sigma]^2==4',
'beta[sigma]^2==5'))
现在,应该可以了
p <- ggplot(melted, aes(variable, value)) +
stat_boxplot(geom ='errorbar') +
geom_boxplot()
p +
facet_wrap(~factor, labeller=label_parsed)
-输出
library(ggplot2)
library(tidyverse)
data <- as.data.frame(matrix(rnorm(60),20,3))
data$factor <- c(rep("f1", 4),rep("f2", 4), rep("f3", 4), rep("f4",4),rep("f5", 4))
names(data) <- c("A", "B", "C", "factor")
melted <- melt(data)
melted$factor <- factor(melted$factor,
levels=paste0('f', 1:5),
labels=c('beta[sigma]^2=1', 'beta[sigma]^2=2', 'beta[sigma]^2=3', 'beta[sigma]^2=4', 'beta[sigma]^2=5'))
p <- ggplot(melted, aes(variable, value)) +
stat_boxplot(geom ='errorbar') +
geom_boxplot()
p + facet_wrap(~factor, labeller=label_parsed)
是否有不同的方法来指定情节标题中的等号,使其周围没有括号?
一个选项是跳过 factor/labels
方法并使用 label_bquote
factor
列
library(ggplot2)
library(dplyr)
melted %>%
mutate(new = readr::parse_number(factor)) %>%
ggplot(aes(variable, value)) +
stat_boxplot(geom = 'errorbar') +
geom_boxplot() +
facet_wrap(~ new, labeller = label_bquote(beta[sigma]^2==.(new)))
-输出
如果我们想将 OP 的选项与 label_parsed
一起使用,请将 labels
=
更改为 ==
melted$factor <- factor(melted$factor,
levels=paste0('f', 1:5),
labels=c('beta[sigma]^2==1',
'beta[sigma]^2==2',
'beta[sigma]^2==3',
'beta[sigma]^2==4',
'beta[sigma]^2==5'))
现在,应该可以了
p <- ggplot(melted, aes(variable, value)) +
stat_boxplot(geom ='errorbar') +
geom_boxplot()
p +
facet_wrap(~factor, labeller=label_parsed)
-输出