问题描述
我有一些数据想要获取密度图。对于每个方面,我想使用个性化的数学表达式,但不幸的是,使用 Tex 函数无法正确显示:
ggplot(data = x,aes(x=.data[[clinical_factor]],y=LBORRES,color=.data[[clinical_factor]]))+
geom_violin()+theme_bw()+
facet_wrap (~POPULATION,ncol=2,scales = "free_y",labeller = labeller(POPULATION = as_labeller(latex2exp::TeX)))
head(x)
DISEASE LBORRES POPULATION OMIC_ID
1: SjS 273 Monocytes 32140214
2: SjS 0 LDGs 32140214
3: SjS 3 CD4$^+$CD8$^+$ T cells 32140214
4: SjS 8 Non classical monocytes 32140214
5: SjS 2490 Neutrophils 32140214
6: SjS 146 B Cells 32140214
这是输出:
你知道如何用 facet wrap 处理 Math Latex 符号吗?
解决方法
我没有在您的 POPULATION 变量中看到数学公式,不过,这可能对您有所帮助:
library(ggplot2)
library(latex2exp)
df <- data.frame(DISEASE=rep(c('SjS','Control'),each=1000),LBORRES=matrix(rnorm(2000),ncol=1),POPULATION=sample(LETTERS[1:6],2000,replace=T,prob=c(0.15,0.15,0.25)))
#assign labels to the variable you want to use latex2exp:
df$POPULATION <- factor(df$POPULATION,labels=c('A'=parse(text=TeX('Monocyte $\\beta^2$')),'B'=parse(text=TeX('CD4+CD8+T cells$\\frac{a^2}{b}$')),'C'=parse(text=TeX('LDGs $\\alpha^2$')),'D'=parse(text=TeX('Non classical monocytes $\\mu^2$')),'E'=parse(text=TeX('Neutrophils $\\gamma^2$')),'F'=parse(text=TeX('B cells $\\alpha^3$'))))
ggplot(data = df,aes(x=DISEASE,y=LBORRES,color=DISEASE))+
geom_violin()+theme_bw()+
facet_wrap (~POPULATION,ncol=2,scales = "free_y",labeller=label_parsed)
这会给你类似的东西