R语言ggplot2绘图时如何在标题中引用数据集变量的计算结果
R ggplot2 图表标题插入动态计算值的解决方案
直接在双引号内部写计算表达式会被R识别为普通字符串,不会触发运算,可选择以下任意一种方法实现需求:
- 方法1:使用
paste()/paste0()字符串拼接
这是R原生支持的写法,无需额外安装依赖:library(ggplot2) # 可搭配round()函数控制数值显示精度,此处保留2位小数 b <- ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point() + ggtitle(paste0("mtcars: wt vs mpg - average mpg = ", round(mean(mtcars$mpg), 2))) print(b) - 方法2:使用glue包实现字符串插值
写法更简洁易读,大括号包裹的内容会自动执行计算并替换:library(ggplot2) library(glue) # 未安装可先运行 install.packages("glue") b <- ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point() + ggtitle(glue("mtcars: wt vs mpg - average mpg = {round(mean(mtcars$mpg), 2)}")) print(b) - 方法3:提前存储计算结果到变量
适合计算逻辑复杂、需要多处复用数值的场景:library(ggplot2) avg_mpg <- round(mean(mtcars$mpg), 2) b <- ggplot(data=mtcars, aes(x=wt, y=mpg)) + geom_point() + ggtitle(paste("mtcars: wt vs mpg - average mpg =", avg_mpg)) print(b)
内容的提问来源于stack exchange,提问作者stats_noob
相关产品推荐
相关产品推荐

