R语言编程绘图箱线图基本实例

 更新时间:2025年05月29日 10:10:23   作者:南瓜胖胖  
使用ggplot2绘制箱线图的核心函数是geom_boxplot(),下面通过示例展示如何用iris数据集绘制不同物种(Species)的萼片长度(Sepal.Length)分布,对R语言箱线图相关知识感兴趣的朋友一起看看吧

基本箱线图绘制

使用ggplot2绘制箱线图的核心函数是geom_boxplot()。以下是一个基础示例,展示如何用iris数据集绘制不同物种(Species)的萼片长度(Sepal.Length)分布:

library(ggplot2)
ggplot(iris, aes(x = Species, y = Sepal.Length)) + 
  geom_boxplot()

颜色与填充控制

通过fillcolor参数可分别控制箱线图内部填充色和边框颜色:

ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) + 
  geom_boxplot(color = "black", alpha = 0.7)
  • alpha参数调整透明度(0-1)
  • 颜色支持Hex格式(如#FF5733)或R颜色名称

异常值样式调整

箱线图的异常值(outliers)可通过以下参数定制:

geom_boxplot(
  outlier.color = "red",       # 异常点颜色
  outlier.shape = 19,          # 点形状编号
  outlier.size = 3,            # 点大小
  outlier.alpha = 0.6          # 透明度
)

宽度与位置调整

width参数控制箱体宽度,position调整分组位置:

ggplot(iris, aes(x = Species, y = Sepal.Length, fill = Species)) + 
  geom_boxplot(width = 0.5, position = position_dodge(0.8))

分组箱线图

当需要按两个分类变量分组时,使用交互变量或分面:

# 方法1:dodge分组
ggplot(mpg, aes(x = class, y = hwy, fill = factor(cyl))) + 
  geom_boxplot(position = position_dodge(preserve = "single"))
# 方法2:分面
ggplot(mpg, aes(x = class, y = hwy)) + 
  geom_boxplot() + 
  facet_wrap(~cyl)

统计信息显示

可通过stat_summary()叠加显示均值等统计量:

ggplot(iris, aes(x = Species, y = Sepal.Length)) + 
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", shape = 18, size = 3, color = "red")

水平箱线图

交换x/y映射即可创建水平箱线图:

ggplot(iris, aes(y = Species, x = Sepal.Length)) + 
  geom_boxplot()

完整参数列表

geom_boxplot()支持的完整美学参数(aesthetics)包括:

  • x:分类变量(必需)
  • y:连续变量(必需)
  • lower/upper:自定义箱体范围
  • middle:自定义中位数线
  • ymin/ymax:自定义须线范围
  • group:强制分组变量
  • weight:加权箱线图

主题定制

通过theme()函数可精细调整标题、坐标轴等元素:

ggplot(iris, aes(x = Species, y = Sepal.Length)) + 
  geom_boxplot() + 
  labs(title = "鸢尾花萼片长度分布") + 
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))
# 加载必要的库
library(ggplot2)
# 创建示例数据
df <- data.frame(
  group = rep(c("A", "B", "C"), each = 100),
  value = c(rnorm(150, mean = 0), rnorm(60, mean = 1), rnorm(400, mean = 2))
)
# 绘制箱线图
p <- ggplot(df, aes(x = group, y = value)) +
  geom_boxplot(width = 0.6, fill = "white", color = "black") +  # 使用白色填充,黑色边框
  labs(title = "Boxplot of Values by Group",  # 标题
       x = "Group",  # X轴标签
       y = "Value") +  # Y轴标签
  theme_minimal() +  # 使用简洁主题
  theme(plot.title = element_text(size = 16, face = "bold", hjust = 0.5),  # 标题样式
        axis.title = element_text(size = 14, face = "bold"),  # 轴标题样式
        axis.text = element_text(size = 12),  # 轴刻度标签样式
        legend.position = "none",
        axis.line = element_line(color = "black")
        )  
# 显示图像
print(p)
# 保存为高分辨率图像
ggsave("boxplot.png", plot = p, width = 8, height = 6, dpi = 300)

到此这篇关于R语言编程绘图-箱线图的文章就介绍到这了,更多相关R语言箱线图内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • R语言ggplot2 title设置教程(main,axis和legend titles)

    R语言ggplot2 title设置教程(main,axis和legend titles)

    ggplot2是一个强大的作图工具,它可以让你不受现有图形类型的限制,创造出任何有助于解决你所遇到问题的图形,下面这篇文章主要给大家介绍了关于R语言ggplot2 title设置(main,axis和legend titles)的相关资料,需要的朋友可以参考下
    2023-02-02
  • R语言与格式,日期格式,格式转化的操作

    R语言与格式,日期格式,格式转化的操作

    这篇文章主要介绍了R语言与格式,日期格式,格式转化的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • R语言关于二项分布知识点总结

    R语言关于二项分布知识点总结

    在本篇内容里小编给大家整理的是一篇关于R语言关于二项分布知识点总结内容,有兴趣的朋友们可以学习下。
    2021-05-05
  • 详解R语言中的PCA分析与可视化

    详解R语言中的PCA分析与可视化

    这篇文章主要介绍了R语言中的PCA分析与可视化的相关资料,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03
  • R语言逻辑型运算的实现

    R语言逻辑型运算的实现

    本文主要介绍了R语言逻辑型运算,逻辑型是 R 的基本数据类型之一,只有两个值 TRUE 和 FALSE, 缺失时为 NA,具有一定的参考价值,感兴趣的可以了解一下
    2022-03-03
  • R语言rmarkdown使用安装教程

    R语言rmarkdown使用安装教程

    markdown是文本处理的标记语言,它的功能类似于word,但与word中各种排版、字体设置不同,markdown能使我们更专注于码字这件事,用标记语法来代替常见的排版格式,Rmarkdown基于R中的文本处理格式,这篇文章主要介绍了R语言rmarkdown使用安装教程,需要的朋友可以参考下
    2024-02-02
  • R语言数据结构之矩阵、数组与数据框详解

    R语言数据结构之矩阵、数组与数据框详解

    进行数据分析的第一步是先拿到数据,下面这篇文章主要给大家介绍了关于R语言数据结构之矩阵、数组与数据框的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • R语言-计算平均值不同函数的区别说明

    R语言-计算平均值不同函数的区别说明

    这篇文章主要介绍了R语言-计算平均值不同函数的区别说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-04-04
  • 利用R语言绘制时间序列图的操作

    利用R语言绘制时间序列图的操作

    这篇文章主要介绍了利用R语言绘制时间序列图的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • R语言绘制直方图实例讲解

    R语言绘制直方图实例讲解

    在本篇内容里小编给大家整理了一篇关于R语言绘制直方图实例讲解内容,有需要的朋友们可以学习下。
    2021-04-04

最新评论