代码之家  ›  专栏  ›  技术社区  ›  Laura

在ggplot中,如何将绘图标题设置为使用函数时选择的x变量

  •  2
  • Laura  · 技术社区  · 3 年前

    我有一个函数,当我选择变量时,它会给我绘制一个ggplot。

    效果很好。

    gg_f <- function(df, var_x){
    
      ggplot(df, aes(x = {{var_x}}, mpg)) + geom_point()
    
    }
    
    gg_f(df = mtcars, var_x = cyl)
    

    但是当我试着把情节标题设为 var_x 我选择的变量有问题。

    我试着用 glue 但它不起作用:

    gg_f <- function(df, var_x){
        
        ggplot(mtcars, aes(x = {{var_x}}, mpg)) + geom_point() + labs(title = glue::glue({var_x})
        
    }
    

    我该怎么做?

    1 回复  |  直到 3 年前
        1
  •  3
  •   Allan Cameron    3 年前

    你可以用 substitute(var_x)

    library(ggplot2)
    
    gg_f <- function(df, var_x){
    
      ggplot(df, aes(x = {{var_x}}, mpg)) + 
        geom_point() +
        labs(title = substitute(var_x))
    
    }
    
    gg_f(df = mtcars, var_x = cyl)
    

    rlang::englue :

    library(ggplot2)
    
    gg_f <- function(df, var_x){
    
      ggplot(df, aes(x = {{var_x}}, mpg)) + 
        geom_point() +
        labs(title = rlang::englue("{{var_x}}"))
    
    }
    
    gg_f(df = mtcars, var_x = cyl)
    

    于2022年4月10日由 reprex package (v2.0.1)