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

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

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

文章目录


结果展示

前言

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


一、箱线图?

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

二、R语言绘制

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

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)
复制代码
模拟数据示例:
BAI2013 class treatment index
1 0.9001420 a elevated 1
2 -1.1733458 a elevated 2
3 -0.8974854 a elevated 3
4 -1.4445014 a elevated 4
5 -0.3310136 a elevated 5
6 -2.9006290 a elevated 6

2.设置颜色模式

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

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

r 复制代码
# 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.添加显著性检验

r 复制代码
 stat_compare_means(paired = TRUE)

5.设置主题

r 复制代码
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.保存

r 复制代码
ggsave("boxplot_line.pdf", height = 5, width = 8)

三、完整代码

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)

# 设置颜色模式:
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)
相关推荐
imbackneverdie5 天前
AI生图可以自由修改了!
人工智能·ai·信息可视化·科研绘图·ai工具·科研工具·ai生图
余丁,微生信5 天前
在线绘制Nature Genetics同款带背景的GO富集条形图
数据可视化·论文插图·生信分析·科研绘图·富集分析·科学科普·nature genetics
余丁,微生信5 天前
聚类和流向:在线绘制热图+桑基图组合图展示基因表达和所属通路
数据可视化·生信分析·科研绘图·热图·桑基图·科学科普·基因表达
imbackneverdie6 天前
sci期刊示意图、流程图、机制图怎么画?
人工智能·ai·aigc·科研绘图·ai工具·科研工具·ai生图
imbackneverdie6 天前
AI生成论文插图速度快不用手搓,但是怎么变成矢量图?
图像处理·人工智能·ai作画·aigc·科研绘图·ai工具·ai生图
白杆杆红伞伞7 天前
ggplot_多变量关系01
r·ggplot
白杆杆红伞伞7 天前
ggplot_比例表现02
数据分析·r
实用科研工具箱7 天前
生物医学科研工具测评:绘图、数据可视化、素材一站式整理
信息可视化·数据挖掘·数据分析·科研·科研绘图·科研绘图工具
imbackneverdie11 天前
科研绘图素材从哪找?
人工智能·科研·绘图工具·科研绘图·研究生·ai工具·科研工具
imbackneverdie18 天前
科研绘图踩坑多年,我总结出了零设计基础出期刊级插图的方法
人工智能·考研·ai·信息可视化·ai作画·科研绘图·研究生