如何在ggplot2中将字符串参数传递给表达式函数?

时间:2018-10-24 15:48:50

标签: r ggplot2

我正在围绕ggplot2编写包装函数,并且对传递的字符串参数之一有困难。这是示例代码

myPlot <- function(tim, labx){
  ggplot(subset(dat,TIME=tim), aes(x=WT, y=Var))+
    geom_point(size=2)+
    facet_wrap(~Dose)+
    scale_x-continuous(expression(bold("Predicted"~labx~"Concentration ("*mu*"g/mL)")))
}

当我说myplot(100, "Week3")时,我的x轴标签显示为“预计的Labx浓度(µg / mL)”,而不是“预计的Week3浓度(µg / mL)”。我该如何解决?

1 个答案:

答案 0 :(得分:1)

一种解决方案是使用bquote()而不是expression(),并在.()内使用bquote来评估字符(字符串)变量。

以下是该问题的完全可重现的示例。

library(ggplot2)

labx = "Week3"

p = ggplot(data.frame(x=1:5, y=1:5), aes(x, y)) + 
    geom_point() + 
    xlab(bquote(bold(Predicted~.(labx)~Concentration~(mu*g/mL))))
p

enter image description here