掌握数据可视化利器:Upset图(集合图)绘制方法详解
创作时间:
作者:
@小白创作中心
掌握数据可视化利器:Upset图(集合图)绘制方法详解
引用
1
来源
1.
https://college.mimazi.net/cms/article-174.html
在数据分析和可视化中,经常需要对某几组样本中共有或特有的基因、OTU或微生物进行可视化。通常可以选择维恩图进行可视化,但当分组信息过多时,维恩图的展示能力及可读性则有所下降。因此,推荐使用维恩图的升级版本——集合图(Upset plot)。
集合图的主要组成部分
集合图主要由三部分组成:
- 最上面的y轴以柱状图形式展示,用于表示交集大小
- 下面左侧的x轴以条形图形式展示,表示每一个集合的大小
- 下面右侧的矩阵点表明集合之间的交集情况。例如,若两个样本间有相同的元素,则使用连线将两个样本相连;同样地,若多个样本间存在连线,那这部分即为这几个样本内的共有元素。
如何使用R语言绘制集合图
示例数据(data1.csv)
数据为丰度/表达量矩阵,表格需要带表头和列名,每一列为样本名,每一行为各种指标数据名,如OTU、基因ID、代谢物名称等。
集合图绘制示例
# 读取本地数据并查看
dat <- read.csv("data1.csv", header = TRUE, row.names = 1, check.names = F)
head(dat)
# 加载R包
# install.packages("UpSetR")
library(UpSetR)
# 将丰度矩阵中的非0值转换为1
dat[dat > 0] <- 1
# 集合图绘制
# 基础绘图
upset(dat)
# 集合图美化
upset(dat,
nsets = 20, # 可视化数据集数量
nintersects = 60, # 显示前多少个交集
main.bar.color = 'blue', # 柱状图颜色
matrix.color = "black", # 集合点的颜色
sets.bar.color = "red", # 条形图条形的颜色
set_size.show = F, # 是否在条形图上显示集合大小
mb.ratio = c(0.5, 0.5) # 矩阵图与主柱图之比
)
# 将条形图颜色设置为不同的颜色
# install.packages("RColorBrewer")
library(RColorBrewer)
upset(dat,
nsets = 20, # 可视化数据集数量
nintersects = 60, # 显示前多少个交集
main.bar.color = 'blue', # 柱状图颜色
matrix.color = "black", # 集合点的颜色
sets.bar.color = c(brewer.pal(10, "Set3"), brewer.pal(10, "Paired")), # 条形图条形的颜色
set_size.show = F, # 是否在条形图上显示集合大小
mb.ratio = c(0.5, 0.5) # 矩阵图与主柱图之比
)
# 高亮显示特定交集
# queries参数用于指定要显示的特定组的交集,每个元素都包含一个query(查询类型)和params(查询参数)字段。在这个例子中,有两个查询:第一个查询指定"S1"和"S8"集合的交集,将其显示为红色;第二个查询指定"S15"集合,将其显示为绿色。color字段用于设置交集的颜色,active字段用于指定是否激活该查询
upset(dat, nsets = 20, mb.ratio = c(0.5, 0.5),
# 设置自己想要展示的特定组的交集
queries = list(list(query = intersects, params = list("S1", "S8"),
color = "red", active = T),
list(query = intersects, params = list("S15"),
color = "green", active = T))
)
热门推荐
直系亲属房屋过户费用收费标准新规定
基因比对是什么?原理、应用及法律规范全解析
低层房屋装修全攻略:8个关键问题一文详解
斗地主界的‘记忆大师’:揭秘精准记牌的艺术与实战策略
意识与科学不完备性:哥德尔句子的启示
经典名方—“疏肝解郁”开心散
为什么一旦被喜欢,我就很想逃? 聊聊「性单恋」
增强宝宝免疫力,促进铁吸收,这个妈妈圈的大网红你了解吗?
轨道交通一体化赋能城市——站城融合激发城市活力与魅力
热式气体质量流量计的校验周期和校验方法的国家标准是什么?
我们是生活在真实世界里,还是虚拟游戏中的一堆代码?
如何确保稳定的信号传输:选择HDMI2.1常规线
如何准确评估奔驰二手车的价格?
太阳系行星数据表
四川什邡雪茄:400年匠心传承的中国雪茄瑰宝
10 部展现友谊力量的最佳动漫
电视剧《凡人歌》揭秘:内卷陷阱,你中招了吗?
7.1%!揭阳GDP增速“跑得最快”
北大学生的真实写照:从憧憬到迷茫的成长之路
股票买卖逻辑:基于公司基本面还是市场趋势?
如何寻找超跌反弹的机会?找到超跌反弹机会后如何把握时机?
如何判断是否感染甲流?这些症状需警惕
甲、乙流抗原检测与核酸检测的差别
论文抽检不合格!为何本科生的问题毕业论文屡见不鲜?
灰灰仪式魔法实践:从历史传承到现代应用
怎么通过作风大整顿实现效能大提升?
脊髓神经鞘瘤
当兵哪个军种最吃香?各军种特点与优势全解析
光伏半导体的种类
糖尿病患者的口腔护理指南:守护健康,提升幸福感