R语言绘制箱线图

箱线图是一种直观的数据可视化工具。它由一个箱体和两条须组成,箱体上下边界分别对应数据的上四分位数和下四分位数,中间线为中位数。上下须一般延伸至不超过特定范围的数据点,超出范围的点被视为异常值。箱线图能清晰展示数据的分布特征,如集中趋势、离散程度和对称性。通过箱体长度可判断数据集中程度,短则集中,长则分散。须的长度反映数据范围。还可比较不同组数据,多组箱线图放在一起能直观看出差异。同时,它能快速识别异常值,帮助分析数据中特殊情况的原因,以便决定是否处理。总之,箱线图在数据分析中作用显著。

0x01 使用boxplot()函数

一、函数用法及参数说明

boxplot(x,...)

1.x:必选参数,要绘制箱线图的数据。

2.names:一个字符向量,用于指定每个箱线图的名称。

3.main:设置图形的标题。

4.xlab:设置 x 轴的标签。

5.ylab:设置 y 轴的标签。

6.col:设置箱线图的颜色。

7.horizontal:逻辑值,设置箱线图是否为水平方向。默认值为 FALSE(垂直方向),设置为 TRUE 则为水平方向。

8.outline:逻辑值,设置是否绘制离群点。默认值为 TRUE,如果设置为 FALSE,则不绘制离群点。

9.notch:逻辑值,设置是否绘制带缺口的箱线图。如果设置为 TRUE,则绘制带缺口的箱线图,缺口表示中位数的置信区间。默认值为 FALSE

10.varwidth:逻辑值,用于控制箱线图的箱子宽度是否与样本大小成比例。默认FLASE所有箱体宽度相同,TRUE表示样本量大小作为其相对宽度。

二、数据准备

这里作为演示,我们使用R语言中的内置数据mtcars作为演示,该数据集来自 1974 年的《Motor Trend》美国杂志,包含了 32 辆汽车(1973 - 1974 年车型)的燃油消耗以及汽车设计和性能的 10 个方面的数据。

三、绘制基本的箱线图

r 复制代码
#以 cyl(气缸数量)作为分组变量,对 mpg(每加仑英里数)进行分组绘制箱线图。
boxplot(mpg~cyl,data = mtcars)

四、美化和调整

r 复制代码
boxplot(mpg~cyl,data = mtcars,varwidth = TRUE,xlab = "Cylinders",ylab = "Miles PEr Gallon",main = "Boxplot",col = c("red","yellow","blue"),names = c("Low","Medium","High"))

0x02 使用ggplot2包

一、准备工作

r 复制代码
# 加载 ggplot2 库,用于数据可视化
library(ggplot2)

# 查看 diamonds 数据集的摘要信息
summary(diamonds)

# 从 diamonds 数据集中随机抽取 1000 个样本,并将结果重新赋值给 diamonds
# sample(1:nrow(diamonds), 1000):生成一个包含从 1 到 diamonds 数据集中行数的随机序列,然后取其中的 1000 个值
# diamonds[sample(1:nrow(diamonds),1000),]:根据随机生成的行索引,从 diamonds 数据集中选取对应的行,创建一个新的数据集
diamonds <- diamonds[sample(1:nrow(diamonds),1000),]

二、绘制基本的箱线图

使用geom_boxplot()函数绘制箱线图。

r 复制代码
ggplot(diamonds,aes(x = cut,y = price)) +
  geom_boxplot()

三、绘制分组箱线图

r 复制代码
# 使用 ggplot2 绘制图形,以 diamonds 数据集为基础
ggplot(diamonds,aes(x = cut,y = price,fill = color)) +
  # 绘制箱线图
  geom_boxplot()

四、绘制分面网格图

r 复制代码
# 使用 ggplot2 绘制图形,以 diamonds 数据集为基础
ggplot(diamonds,aes(x = cut,y = price,fill = color)) +
  # 绘制箱线图
  geom_boxplot() +
  # 按颜色进行分面,生成一个网格图,每行对应一个颜色类别
  facet_grid(.~color) +
  # 设置主题,将 x 轴的文本元素(即切割质量的标签)旋转 90 度,以便更好地显示
  theme(axis.text.x = element_text(angle = 90))

五、美化和调整

r 复制代码
# 使用 ggplot2 绘制图形,以 diamonds 数据集为基础
ggplot(diamonds,aes(x = cut,y = price,fill = color)) +
  # 绘制箱线图
  geom_boxplot() +
  # 手动设置填充颜色,使用 rainbow(7) 生成的七种颜色
  scale_fill_manual(values = rainbow(7)) +
  # 设置图形标题、x 轴标签和 y 轴标签
  labs(title = "boxplot of diamond", x = "cut of diamond", y = "price of diamond") +
  # 设置主题,将图形标题居中
  theme(plot.title = element_text(hjust = 0.5))
相关推荐
wkj0015 分钟前
php操作redis
开发语言·redis·php
极客代码10 分钟前
【Python TensorFlow】进阶指南(续篇三)
开发语言·人工智能·python·深度学习·tensorflow
热爱生活的五柒15 分钟前
vscode利用ofExtensions插件可以调试单进程Openfoam,但是不能调试mpi多进程案例
ide·vscode·编辑器
土豆湿15 分钟前
拥抱极简主义前端开发:NoCss.js 引领无 CSS 编程潮流
开发语言·javascript·css
小陈phd17 分钟前
Vscode LinuxC++环境配置
linux·c++·vscode
界面开发小八哥22 分钟前
更高效的Java 23开发,IntelliJ IDEA助力全面升级
java·开发语言·ide·intellij-idea·开发工具
qystca1 小时前
洛谷 B3637 最长上升子序列 C语言 记忆化搜索->‘正序‘dp
c语言·开发语言·算法
薯条不要番茄酱1 小时前
数据结构-8.Java. 七大排序算法(中篇)
java·开发语言·数据结构·后端·算法·排序算法·intellij-idea
今天吃饺子1 小时前
2024年SCI一区最新改进优化算法——四参数自适应生长优化器,MATLAB代码免费获取...
开发语言·算法·matlab
努力进修1 小时前
“探索Java List的无限可能:从基础到高级应用“
java·开发语言·list