R 语言科研绘图第 67 期 --- 箱线图-显著性
在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。
为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式:
R 语言科研绘图模板 --- sciRplothttps://mp.weixin.qq.com/s/QA_8LVqjkdg4A16zLonw4w?payreadticket=HLOgsG8DQqDOdx9tqnGxeR3uCSjZBth0CEt0-amiaHLBEmCSi9s75EiFjH5-n7rjFdo7Zkk本期绘图预览:
1. 导入包
我们首先导入本期绘图用到的 R 包:
library(ggplot2)
library(ggsignif)
2. 准备数据
接下来我们导入绘图用到的数据,在 sciRplot 中给大家提供了测试数据:
data <- sciRplot_data
查看下数据格式:
3. 准备配色
颜色的选择往往是一件让人特别纠结的事情,这里我们直接使用 sciRcolor 来设置配色:
colors <- sciRcolor::pal_scircolor(37)[1:4]
sciRcolor 是为了 R 语言科研绘图开发的配色工具,包含了 100 种常用配色,详细信息见:
R 语言科研配色工具 --- sciRcolorhttps://mp.weixin.qq.com/s/XZol4VxvHnJD_49ij3f2mg?payreadticket=HAlyw87TZ9vbcokVcKDjff2gmpVk_bmjttsdEpqGKMRrrUORhXyg23XuNVpmO96SiCqjqFk
4. 绘制图形
接下来我们通过下面的代码来绘制图形:
p <-
ggplot(data, aes(x=Name, y=Value, fill=Name, colour=Name)) +
geom_violin(alpha=0.8, scale='width', trim=TRUE, fill=NA) +
geom_boxplot(alpha=0.5, size=1, width=0.3) +
geom_jitter(alpha=0.3, size=4) +
geom_signif(comparisons=list(c("A","B"),c("A","C"),c("A","D")),
color = "black",
test=t.test, test.args=list(var.equal=T, alternative="two.side"),
y_position=c(30, 35, 40),
size = 1.5, textsize = 6, parse=T) +
labs(x="Name", y="Value") +
scale_y_continuous(breaks=seq(0,45,10), limits = c(0,45),
expand = expansion(mult = c(0, 0.05))) +
theme_classic(base_size = 25) +
theme(panel.grid.major.y = element_line(), legend.position = "none") +
scale_fill_manual(values = colors) +
scale_color_manual(values = colors)
p
5. 保存图形
最后我们保存绘制的图形:
ggsave("save/box-signif.png", p, width = 8, height = 6, dpi = 300)
sciRplot 介绍
为了解决 R 语言中科研绘图的问题,我推出了 sciRplot 项目。sciRplot 项目包含了以下内容:
① 100 种绘图代码,按照图形类型进行分类,包含 60 种基础绘图和 40 种进阶绘图
② 配备一站式 html文档,包含测试数据,代码一键复制,交互式阅读提高用户体验