You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中sapply绘制iris各列直方图时标题不显示对应列名如何解决

解决方案

原代码标题统一显示为Histogram of x的原因是:传入绘图函数的是剥离了列名属性的纯数值向量,hist()默认使用参数名x生成标题,无法自动识别对应的列名。
直接替换为以下base R代码即可生成带对应列名标题的统计图,完全保留你原本的直方图+密度线的绘图效果:

f <- function(col_name, data) {
  x <- data[[col_name]]
  hist(x,
       freq = FALSE,
       main = paste0("Histogram of ", col_name)
  )
  lines(density(x))
}

# 批量绘图,invisible()用于隐藏控制台无意义的返回值
invisible(sapply(names(iris[1:4]), f, data = iris))

关键改动说明

  • 调整遍历逻辑:不再直接把数值列传入函数,改为遍历列名,在函数内部提取对应列的数值,即可拿到列名生成匹配的标题
  • 所有代码均使用R原生函数,无需安装额外依赖包,完全适配你使用的最新版R、RStudio on Ubuntu 20.04运行环境
  • 运行后4幅图的标题会自动匹配列名,分别为Histogram of Sepal.Length、Histogram of Sepal.Width、Histogram of Petal.Length、Histogram of Petal.Width

如果需要自定义标题格式,直接修改hist()函数中main参数的字符串拼接规则即可。

内容的提问来源于stack exchange,提问作者SFer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.30 06:51:20