当前位置: 首页 > news >正文

利用R绘制箱线图

绘制箱线图

利用R语言绘制箱线图非常方便,主要通过 boxplot() 函数或ggplot2包实现。

注意:
箱线图中的箱子表示数据的四分位距(IQR);
箱体内的线表示中位数;
须线通常延伸到1.5倍IQR范围内的最远数据点;
超出须线的点被视为异常值。

欢迎大家在评论区留言或私信,交流学习心得或学习R的过程中遇到的问题。感谢大家的支持和关注,您的支持是我创作的最大动力。

目录

    • 绘制箱线图
  • 1.利用boxplot绘制
  • 2.利用ggplot2绘制
  • 3.其他

1.利用boxplot绘制

R自带了很多数据集,例如 mtcars,我们可以用其中的 mpg(英里/加仑)数据来绘制箱线图。

  • 绘制基本的箱线图
# 查看数据前几行
head(mtcars)# 绘制基础的箱线图
boxplot(mtcars$mpg,main = "汽车每加仑里程箱线图", # 标题ylab = "英里/加仑",           # Y轴标签xlab = "总样本",              # X轴标签col = "lightblue")            # 箱体颜色

出图效果如下:
在这里插入图片描述

  • 按分组绘制箱线图
    比较不同气缸数(cyl)汽车的每加仑里程。
# 将cyl转换为因子,以便正确分组
mtcars$cyl <- as.factor(mtcars$cyl)# 按分组绘制
boxplot(mpg ~ cyl, data = mtcars,main = "不同气缸数的汽车每加仑里程",xlab = "气缸数",ylab = "英里/加仑",col = c("lightgreen", "lightblue", "lightyellow"))

出图效果如下:
在这里插入图片描述

2.利用ggplot2绘制

首先安装并加载包

install.packages("ggplot2")  # 如果尚未安装
library(ggplot2)
  • 基础箱线图
ggplot(mtcars, aes(x = cyl, y = mpg)) +geom_boxplot(fill = "lightblue", alpha = 0.7) +  # alpha控制透明度labs(title = "不同气缸数的汽车每加仑里程",x = "气缸数",y = "英里/加仑") +theme_minimal()  # 使用简洁主题

出图效果如下:
在这里插入图片描述

  • 添加数据点(抖动点)
    为了显示原始数据的分布,可以在箱线图上叠加数据点。
ggplot(mtcars, aes(x = cyl, y = mpg)) +geom_boxplot(fill = "lightblue", outlier.colour = "red") +  # 异常点标为红色geom_jitter(width = 0.2, alpha = 0.6, color = "blue") +     # 添加抖动点labs(title = "箱线图与数据点",x = "气缸数",y = "英里/加仑") +theme_classic()

出图效果如下:
在这里插入图片描述

3.其他

  • 水平箱线图

只需在 boxplot() 中添加 horizontal = TRUE 参数,或在 ggplot2 中使用 coord_flip()。

# 基础方法
boxplot(mpg ~ cyl, data = mtcars, horizontal = TRUE)# ggplot2方法
ggplot(mtcars, aes(x = cyl, y = mpg)) +geom_boxplot(fill = "lightcoral") +coord_flip() +  # 坐标轴翻转labs(title = "水平箱线图")

出图效果如下:
在这里插入图片描述
在这里插入图片描述

  • 自定义
    自定义颜色和外观
ggplot(mtcars, aes(x = cyl, y = mpg, fill = cyl)) +  # 按cyl填充颜色geom_boxplot(alpha = 0.8, outlier.shape = 16,    # 异常点形状outlier.size = 2,      # 异常点大小outlier.color = "red") +scale_fill_brewer(palette = "Set2") +  # 使用ColorBrewer调色板labs(title = "自定义颜色的箱线图") +theme_bw() +  # 黑白主题theme(legend.position = "none")  # 隐藏图例

出图效果如下:
在这里插入图片描述

  • 不显示异常值的箱线图
boxplot(mpg ~ cyl, data = mtcars, outline = FALSE)  # outline = FALSE# 在ggplot2中
ggplot(mtcars, aes(x = cyl, y = mpg)) +geom_boxplot(fill = "lightblue", outlier.shape = NA)  # outlier.shape = NA

出图效果如下:
在这里插入图片描述在这里插入图片描述

※※大家在使用的时候遇到任何问题欢迎留言,您的支持是我创作的最大动力。※※

http://www.dtcms.com/a/494688.html

相关文章:

  • 【架构相关】tsconfig.json 与 tsconfig.node.json、tsconfig.app.json 的关系和作用
  • 烟台seo网站推广电商网站 手续
  • GLM-4.1V-Thinking vLLM部署调用
  • 从“生物进化”到算法优化:遗传算法的5个核心阶段
  • C++复习(1)
  • 云原生与分布式架构的完美融合:从理论到生产实践
  • 学习Python 03
  • Python中子类对父类方法的继承与改写
  • 深度学习之yolov3
  • 大型营销型网站建设网站做个seo要多少钱
  • 广州南建站时间dz网站建设教程
  • 【征文计划】Rokid 语音指令开发教程 【包含工程源码 和体验包APK】
  • 网站开发工程师需要什么证书网站风险解除
  • 回文串oj
  • Linux系统--信号(3--信号的保存、阻塞)
  • Linux内核架构浅谈44-Linux slab分配器:通用缓存与专用缓存的创建与使用
  • 无用知识研究:在trailing return type利用decltype,comma operator在对函数进行sfinae原创 [二]
  • APDU交互代码模拟
  • Linux性能分析系统和虚拟文件系统缓存初始化
  • 用python做网站和用php网站建设验收单意见怎么写
  • 德芙巧克力网站开发方案怎样宣传一个网站
  • 模式识别与机器学习课程笔记(4):线性判决函数
  • 无人机空中定位与一键返航原理详解
  • P12874 [蓝桥杯 2025 国 Python A] 巡逻||题解||图论
  • 律师在哪个网站做国家企业信用系统官网
  • mapbox基础,栅格图片切片并发布、加载
  • 深入 RFC 793:TCP 报文头部、MSS 协商与三次握手 / 四次挥手全解析
  • deconv(多项式除法)
  • unitree rl gym项目实践记录2:通过TensorBoard查看奖励曲线
  • 2.8、权限的终极目标:提权与持久化