R语言boxplot绘图函数
boxplot 用于绘制箱线图,我们都知道boxplot 用于展示一组数据的总体分布,在R语言中,支持两种输入数据的方式
第一种:x , 这个参数指定用于绘制箱线图所用的数据,是一个向量
代码示例:
boxplot(1:100)
效果图如下:
第二种, 通多formala 和 data 两个参数指定,适合展示多组数据的分布
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), each = 100))) boxplot( value ~ group, dataset)
效果图如下:
下面详细解释几个常用的参数:
1)widh : 控制箱体的宽度,当图中有多个箱子时才会发挥作用,其值为长度和箱体个数相同的向量,指定了不同箱体的相对宽度
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), each = 100))) boxplot( value ~ group, dataset, width = c(1, 2))
效果图如下:
从图中可以看出,第二个箱子的宽度是第一个箱子的两倍
2) varwidth : 逻辑值,控制箱体的宽度, 只有图中有多个箱体时才发挥作用,默认为FALSE, 所有箱体的宽度相同,当其值为TRUE时,代表每个箱体的样本量作为其相对宽度
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40)))) boxplot( value ~ group, dataset, varwidth = T)
效果图如下:
从图中可以看出,两个箱体的宽度不同,因为两组数据的样本量不同;
3)notch : 逻辑值,
代码示例:
par(mfrow = c(1, 2)) boxplot(1:100, notch = T, main = "notch = T") boxplot(1:100, notch = F, main = "notch = F")
效果图如下:
4)col : 箱体的填充色
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40)))) boxplot( value ~ group, dataset, col = c("green", "red"))
效果图如下:
5) border : 箱体中线条的颜色,默认为黑色
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40)))) boxplot( value ~ group, dataset, border = c("red", "green"))
效果图如下:
6)names: 每个箱体下面的标签
代码示例:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(160, 40)))) boxplot( value ~ group, dataset, names = c("red", "green"))
效果图如下:
下面我们讨论下,箱线图中箱体的位置是如何决定的?
默认情况下每个箱体的中心点和箱体的位置是一定的,比如第二个箱体对应的中心点的x坐标就是2
默认情况下每个箱体的宽度是多少呢?
当图中只有一个箱体时,看下面代码的运行结果:
boxplot(1:100) abline(v = 0.8, lty = 2) abline(v = 1.2, lty = 2) axis(side = 1)
结果如下:
从图中可以看出,因为只有一个箱体,所以中心点为1, 两边的宽度各位0.2, 所以左边的x轴坐标是0.8, 右边的x轴坐标为1.2
当图中有多个箱体时,看下面代码的运行结果:
dataset <- data.frame(value = rep(1:100, times = 2), group = factor(rep(c("A", "B"), times = c(100, 100)))) boxplot( value ~ group, dataset) abline(v = 0.6, lty = 2) abline(v = 1.4, lty = 2) abline(v = 1.6, lty = 2) abline(v = 2.4, lty = 2)
结果如下:
从图中我们可以发现,每个箱体的宽度为0.8
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架