提问人:Laura 提问时间:4/11/2022 更新时间:4/11/2022 访问量:202
在ggplot中,如何使用函数时将绘图标题设置为选择的x变量
In ggplot, how to set plot title as x variable choosed when using a function
问:
我有一个函数,当我选择变量时,它会为我绘制一个 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})
}
我该怎么做?
答:
3赞
Allan Cameron
4/11/2022
#1
你可以使用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-04-10 由 reprex 软件包 (v2.0.1)
评论
1赞
Axeman
4/11/2022
我想版本是.rlang
labs(title = as_name(enquo(var_x)))
3赞
Allan Cameron
4/11/2022
@Axeman 或rlang::englue
0赞
Laura
4/11/2022
@AllanCameron 如果我想使用“外部”我的函数?像这样:gg_f(df = mtcars, var_x = cyl) + labs(......)
0赞
Allan Cameron
4/11/2022
@Laura,如果它超出了你的功能,你为什么不直接放呢?labs(title = "cyl")
3赞
Allan Cameron
4/11/2022
@Laura但是,如果您将“labs()”放在函数外部,则除了直接指定参数外,您无法向其传递参数。
评论