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

R 语言科研绘图第 67 期 --- 箱线图-显著性

在发表科研论文的过程中,科研绘图是必不可少的,一张好看的图形会是文章很大的加分项。

为了便于使用,本系列文章介绍的所有绘图都已收录到了 sciRplot 项目中,获取方式:

R 语言科研绘图模板 --- sciRplot https://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 语言科研配色工具 --- sciRcolor https://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文档,包含测试数据,代码一键复制交互式阅读提高用户体验

 

 

 

http://www.lryc.cn/news/609568.html

相关文章:

  • Nestjs框架: Node.js 多环境配置策略与 dotenv 与 config 库详解
  • 政府财政行业云原生转型之路
  • Druid学习笔记 01、快速了解Druid中SqlParser实现
  • 排序算法入门:直接插入排序详解
  • 室内分布系统
  • ICCV 2025|单视频生成动态4D场景!中科大微软突破4D生成瓶颈,动画效果炸裂来袭!
  • Flutter开发 了解Scaffold
  • 深入理解Java的SPI机制,使用auto-service库优化SPI
  • 区块链基础之Merkle B+树
  • Azure DevOps - 使用 Ansible 轻松配置 Azure DevOps 代理 - 第6部分
  • 打造个人数字图书馆:LeaNote+cpolar如何成为你的私有化知识中枢?
  • 多级表头的导出
  • 软件打包前进行文件去重
  • Unix 命令行shell基础--学习系列003
  • Web 开发 12
  • 嵌入式硬件中三极管原理分析与控制详解
  • 嵌入式硬件篇---OpenMV存储
  • 单片机51 day46
  • 基于单片机智能鱼缸/水族箱/水产养殖系统设计
  • 第二篇:深入解析 FastAPI + LangChain 实现流式对话接口:`chat` 函数详解
  • 嵌入式硬件中三极管推挽电路控制与实现
  • 单片机裸机程序设计架构
  • Ubuntu 下 MySQL 运维自动化部署教程(在线简易版)
  • MLIR Introduction
  • cobalt strike(CS)与Metasploit(MSF)联动
  • Nestjs框架: @nestjs/config 配置模块详解与实践
  • Go 语言模糊测试 (Fuzz Testing) 深度解析与实践
  • 基于鼠标位置的相机缩放和平移命令的实现(原理+源码)
  • Java 17新特性深度解读:Records、Sealed Classes与Pattern Matching
  • 宝塔面板安装WordPress教程:10分钟一键部署搭建个人博客 (2025)