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

科研绘图一:箱线图(添加贝赛尔曲线)

R语言绘图系列—箱线图+贝赛尔曲线

(一): 科研绘图一:箱线图(添加贝赛尔曲线)

文章目录

  • R语言绘图系列---箱线图+贝赛尔曲线
    • (一): 科研绘图一:箱线图(添加贝赛尔曲线)
  • 前言
  • 一、箱线图?
  • 二、R语言绘制
    • 1.R包载入和构建模拟数据
    • 2.设置颜色模式
    • 3.使用ggpaired函数绘制箱线图
    • 4.添加显著性检验
    • 5.设置主题
    • 6.保存
  • 三、完整代码


结果展示

在这里插入图片描述

前言

箱形图又称为盒须图、盒式图、盒状图或箱线图,是一种用作显示一组数据分散情况资料的统计图。因型状如箱子而得名。在各种领域也经常被使用,常见于品质管理,快速识别异常值。箱形图最大的优点就是不受异常值的影响,能够准确稳定地描绘出数据的离散分布情况,同时也利于数据的清洗。


一、箱线图?

箱形图(Box-plot)又称为盒须图、盒式图或箱线图,是一种用作显示一组数据分散情况资料的统计图。 用于展示数据的大致分布特征,也用于探索异常值和离群点。平行排列的箱线图可以用于比较在某个分类变量各个类别下某指标的分布。在R语言可以使用函数 ggpubr() 绘制箱线图。
贝塞尔曲线, 又称贝赛尔曲线(Bézier曲线)是电脑图形学中相当重要的参数曲线。更高维度的广泛化贝塞尔曲线就称作贝塞尔曲面,其中贝塞尔三角是一种特殊的实例。

二、R语言绘制

1.R包载入和构建模拟数据

# 载入R包:
library(ggplot2)
library(RColorBrewer)
library(ggpubr) 

# 构建模拟数据:
set.seed(2000)
data <- data.frame(BAI2013 = rnorm(60),
                   class = rep(rep(letters[1:3], each=10),2),
                   treatment = rep(c("elevated","ambient"),each=30),
                   index=rep(seq(1,30),2))

head(data)
模拟数据示例:
BAI2013classtreatmentindex
10.9001420aelevated1
2-1.1733458aelevated2
3-0.8974854aelevated3
4-1.4445014aelevated4
5-0.3310136aelevated5
6-2.9006290aelevated6

2.设置颜色模式

# 设置颜色模式:
palette <- c(brewer.pal(7,"Set2")[c(4,5)])

3.使用ggpaired函数绘制箱线图

# ggpaired是ggpurb包中绘制配对箱线图的函数
ggpaired(data, x = "treatment", y = "BAI2013",
         fill = "treatment",  # fill指定分组变量:
         palette = palette,  # 颜色
         line.color = "grey50", # 散点连线颜色
         line.size = 0.15,  # 连线粗细
         point.size = 1.5,  # 散点大小
         width=0.6,  # 箱线图宽度
         facet.by = "class",  # 分面变量
         short.panel.labs = FALSE)

4.添加显著性检验

 stat_compare_means(paired = TRUE)

5.设置主题

theme_minimal()
  theme(strip.background = element_rect(fill="grey90"),
        strip.text = element_text(size=13,face="plain",color="black"),
        axis.title=element_text(size=13,face="plain",color="black"),
        axis.text = element_text(size=11,face="plain",color="black"),
        panel.background=element_rect(colour="black",fill=NA),
        panel.grid=element_blank(),
        legend.position="none",
        legend.background=element_rect(colour=NA,fill=NA),
        axis.ticks=element_line(colour="black"))

6.保存

ggsave("boxplot_line.pdf", height = 5, width = 8)

三、完整代码

# 载入R包:
library(ggplot2)
library(RColorBrewer)
library(ggpubr) 

# 构建模拟数据:
set.seed(2000)
data <- data.frame(BAI2013 = rnorm(60),
                   class = rep(rep(letters[1:3], each=10),2),
                   treatment = rep(c("elevated","ambient"),each=30),
                   index=rep(seq(1,30),2))

head(data)

# 设置颜色模式:
palette <- c(brewer.pal(7,"Set2")[c(4,5)])


###### 使用ggpaired函数 ###########
# ggpaired是ggpurb包中绘制配对箱线图的函数
ggpaired(data, x = "treatment", y = "BAI2013",
         fill = "treatment",  # fill指定分组变量:
         palette = palette,  # 颜色
         line.color = "grey50", # 散点连线颜色
         line.size = 0.15,  # 连线粗细
         point.size = 1.5,  # 散点大小
         width=0.6,  # 箱线图宽度
         facet.by = "class",  # 分面变量
         short.panel.labs = FALSE)
# 添加显著性检验:
stat_compare_means(paired = TRUE)
# 设置主题:
theme_minimal()
theme(strip.background = element_rect(fill="grey90"),
        strip.text = element_text(size=13,face="plain",color="black"),
        axis.title=element_text(size=13,face="plain",color="black"),
        axis.text = element_text(size=11,face="plain",color="black"),
        panel.background=element_rect(colour="black",fill=NA),
        panel.grid=element_blank(),
        legend.position="none",
        legend.background=element_rect(colour=NA,fill=NA),
        axis.ticks=element_line(colour="black"))

ggsave("boxplot_line.pdf", height = 5, width = 8)

http://www.kler.cn/a/271689.html

相关文章:

  • ResNet 残差网络
  • STM32标准库移植RT-Thread nano
  • 关于产品和技术架构的思索
  • 架构技能(六):软件设计(下)
  • postgres基准测试工具pgbench如何使用自定义的表结构和自定义sql
  • 智慧园区系统集成解决方案构建智能管理新模式与发展蓝图
  • Android Studio字体大小调节
  • 记录对NSIS的一些微调 实现Electron安装包美化
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Rating)
  • 数据结构 之 树
  • SSA-LSTM多输入分类预测 | 樽海鞘优化算法-长短期神经网络 | Matlab
  • 2024.3.17每日一题
  • 【C语言】关于字符的一些实用函数
  • JS:轮播图终极版
  • kafka集群介绍
  • 探秘Nutch:揭秘开源搜索引擎的工作原理与无限应用可能(三)
  • 【NC14399】素数判断
  • Java实现简单的通讯录
  • 制定游戏开发里程碑和迭代周期的最佳实践是什么?
  • 为什么使用RedisDesktopManager可以连上redis,微服务似乎无法访问redis
  • 产品推荐 - 基于FPGA XC7K325T+DSP TMS320C6678的双目交汇视觉图像处理平台
  • 3 种方法限制 K8s Pod 磁盘容量使用
  • 基于element-plus +腾讯云COS实现图片上传
  • 用Origin快速拟合荧光寿命、PL Decay (TRPL)数据分析处理
  • 探索编程新纪元:Code GeeX、Copilot与通义灵码的智能辅助之旅
  • 【软考】UML中的图之对象图