R 语言科研绘图第 20 期 --- 箱线图-配对

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

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

R 语言科研绘图模板 --- sciRplothttps://mp.weixin.qq.com/s/QA_8LVqjkdg4A16zLonw4w?payreadticket=HLhuy98A4H7uWmJW_snkz-a2Wljhix8maMc8B1AdNs4K8ETaNAfwVbV7kjtrpWWzSOIaM14

本期绘图预览:

1. 导入包

我们首先导入本期绘图用到的 R 包:

复制代码
library(ggplot2)

2. 准备数据

接下来我们导入绘图用到的数据,在 sciRplot 中给大家提供了测试数据:

复制代码
data <- sciRplot_data

3. 准备配色

颜色的选择往往是一件让人特别纠结的事情,这里我们直接使用 sciRcolor 来设置配色:

复制代码
colors <- sciRcolor::pal_scircolor(37)[1:2]high_colors <- colors[1]low_colors <- colors[2]

sciRcolor 是为了 R 语言科研绘图开发的配色工具,包含了 100 种常用配色,详细信息见:

R 语言科研配色工具 --- sciRcolorhttps://mp.weixin.qq.com/s/XZol4VxvHnJD_49ij3f2mg?payreadticket=HDFtqwYBbWO-z5igYqT4uSX-PCHhv6ey3sm-fLaj4GTSttg31NOH0zQLPPovnvmxe4tCE_0

4. 绘制图形

接下来我们通过下面的代码来绘制图形:

复制代码
p <-   ggplot(data, aes(x=Type, y=Value, fill=Type, color=Type)) +  stat_boxplot(geom="errorbar", width=0.2) +  geom_boxplot(width=0.5, fill=NA) +  geom_line(aes(group=Pire), position = position_dodge(0.2), color="black",            alpha=0.5) +  geom_point(aes(fill=Type, group=Pire), position = position_dodge(0.2),             shape=21, color="black") +   labs(x="Name", y="Value") +  scale_y_continuous(breaks=seq(0,255,50), limits = c(0,255),                     expand = expansion(mult = c(0, 0.05))) +  facet_wrap(.~Name, nrow=1)+  theme_classic(base_size = 25) +  theme(panel.grid.major.y = element_line(), strip.background = element_blank(),        legend.position = "top") +  scale_fill_manual(values = c(high=high_colors, low=low_colors)) +  scale_color_manual(values = c(high=high_colors, low=low_colors))p

5. 保存图形

最后我们保存绘制的图形:

复制代码
ggsave("save/box-paired.png", p, width = 8, height = 6, dpi = 300)

sciRplot 介绍

为了解决 R 语言中科研绘图的问题,我推出了 sciRplot 项目。sciRplot 项目包含了以下内容:

100 种绘图代码,按照图形类型进行分类,包含 60基础绘图40进阶绘图

② 配备一站式 html文档 ,包含测试数据 ,代码一键复制交互式阅读提高用户体验

相关推荐
weixin_440784116 小时前
【HandlerThread实现原理】
android·java·开发语言
天空'之城6 小时前
C 语言工业级通用组件手写 24:互补滤波
c语言·开发语言·互补滤波·嵌入式算法·工业级组件
XR1234567886 小时前
工厂车间无线网络方案对比:AGV漫游哪家强?
开发语言·php
傻啦嘿哟6 小时前
某短视频平台视频爬虫实战:抓取推荐流视频信息,绕过反爬的3种技巧
开发语言·爬虫·python
現実君7 小时前
【硬件进阶】AD22上位替换JLEDA教程
开发语言·php
mubei-1237 小时前
SpringDAO的用法
java·开发语言·数据库
格林威9 小时前
多相机微秒级对齐:硬件触发 vs PTP(IEEE 1588)方案实战对比
开发语言·人工智能·数码相机·机器学习·计算机视觉·视觉检测·机器视觉
星蓝_starblue10 小时前
零服务器、零数据库!开源growth-board,利用GitHub自动管理刷题/学习/求职全流程
服务器·数据库·程序人生·系统架构·node.js·github·改行学it
初级代码游戏11 小时前
iOS开发 Swift 速记2:三种集合类型 Array Set Dictionary
开发语言·ios·swift
峥嵘life12 小时前
Android WiFi 热点 Channel 信道 和 Frequency 频率 转换总结
android·开发语言