R 语言科研绘图第 35 期 --- 韦恩图-UpSet

发布于:2025-03-29 ⋅ 阅读:(26) ⋅ 点赞:(0)

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

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

R 语言科研绘图模板 --- sciRplot https://mp.weixin.qq.com/s/QA_8LVqjkdg4A16zLonw4w?payreadticket=HElUE5WWmBflodEFw10g0l2NrRotj8kbUIHZGBG-1lm_I5riU5XKbrDAeqbr-XTgydw6RX4

本期绘图预览:

 

1. 导入包

 

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

library(UpSetR)

2. 准备数据

 

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

data <- sciRplot_data

3. 准备配色

 

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

colors <- sciRcolor::pal_scircolor(37)[1:6]matrix_colors <- c(rep(colors[1],3), rep(colors[2],3), colors[3])bar_colors <- colors[4:6]

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

 

R 语言科研配色工具 --- sciRcolor https://mp.weixin.qq.com/s/XZol4VxvHnJD_49ij3f2mg?payreadticket=HLZlNqDoTUvaTbPGWaGwf9Mj43TrhrMxM_OEJIJVUr4C4lA9-t-k8LmsLJ5PaDR4JCApFWY

4. 绘制图形

 

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

p <-   upset(    data, sets = c("Action", "Comedy", "Drama"),    text.scale = 2,    sets.bar.color = bar_colors,      matrix.color = matrix_colors,    queries = list(      list(query = intersects, params = list("Action"), active = T, color= colors[1]),      list(query = intersects, params = list("Comedy"), active = T, color= colors[1]),      list(query = intersects, params = list("Drama"), active = T, color= colors[1]),      list(query = intersects, params = list("Comedy", "Drama"), active = T, color= colors[2]),      list(query = intersects, params = list("Action", "Drama"), active = T, color= colors[2]),      list(query = intersects, params = list("Action", "Comedy"), active = T, color= colors[2]),      list(query = intersects, params = list("Action", "Comedy", "Drama"), active = T, color= colors[3])      )    )p

5. 保存图形

 

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

## 注意:下面保存图形代码需要在 R Console 中运行,在Rmarkdown中运行会报错png("save/venn-upset.png", width = 2000, height = 1500, res=300, units = 'px')pdev.off()

 

sciRplot 介绍

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

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

 

 

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

 

 

 


网站公告

今日签到

点亮在社区的每一天
去签到