在ggplot中评估字符串表达式
evaluate string expression in ggplot
我想将 label_format
表达式传递给 ggplot,但出现错误
#toy df
df <- data.frame(
x = 1:10,
y = seq(0.1,1,by=0.1),
label_format = "scales::percent_format(accuracy=0.1)"
)
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label=!! rlang::parse_expr( label_format))
Error in parse_exprs(x) : object 'label_format' not found
我想评估字符串以得到带有格式化 y 轴的图表:
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label=scales::percent_format(accuracy = 0.1))
天平无法访问全局数据来评估存储在数据列中的表达式。不过,您可以使用未解析的表达式,如下所示:
library(ggplot2)
df <- data.frame(
x = 1:10,
y = seq(0.1,1,by=0.1)
)
label_format <- "scales::percent_format(accuracy=0.1)"
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label= eval(parse(text = label_format)))
由 reprex package (v2.0.1)
创建于 2022-01-13
我想将 label_format
表达式传递给 ggplot,但出现错误
#toy df
df <- data.frame(
x = 1:10,
y = seq(0.1,1,by=0.1),
label_format = "scales::percent_format(accuracy=0.1)"
)
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label=!! rlang::parse_expr( label_format))
Error in parse_exprs(x) : object 'label_format' not found
我想评估字符串以得到带有格式化 y 轴的图表:
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label=scales::percent_format(accuracy = 0.1))
天平无法访问全局数据来评估存储在数据列中的表达式。不过,您可以使用未解析的表达式,如下所示:
library(ggplot2)
df <- data.frame(
x = 1:10,
y = seq(0.1,1,by=0.1)
)
label_format <- "scales::percent_format(accuracy=0.1)"
ggplot(df,aes(x=x,y=y))+
geom_point()+
scale_y_continuous(label= eval(parse(text = label_format)))
由 reprex package (v2.0.1)
创建于 2022-01-13