掌握数据可视化利器: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))
)
热门推荐
从“山药蛋”到“洋芋”:土豆在中国的本土化之路
肠道健康是关键,肠肝轴与肠脑轴影响深远
呼吸道粘液增多的五大原因及科学应对方法
咳嗽痰多气喘?当心是呼吸道粘液过多
中国古诗词中的雾景:从自然描写到文化象征
江苏沿海雾特征:春冬晨间多发,影响交通安全
携号转网遇阻:运营商限制名额,用户需排队数月
办新卡移动电信联通哪个套餐好
忻州一日游:五台山、古城、峡谷精华游,含餐饮推荐
山西唯一现存书院:秀容书院的古今传承
忻州古城:文旅融合带动1500万人次客流
想把卡皮巴拉当宠物?这些饲养难题你必须知道
水豚咬伤哥伦比亚女孩,专家:切勿低估其危险性
世界最大啮齿动物水豚:半水栖生活与温顺天性的完美结合
TikTok禁令背后的数据安全博弈
鸡蛋酸枣仁粉:改善睡眠的自然疗法
《熊猫奇遇记》里的生态保护启示
《鄂伦春的熊》:一首人与自然和谐共生的赞歌
沈石溪、黑鹤教你从动物故事中汲取写作灵感
中美用户“交猫税”,小红书成TikTok难民避风港
中医缓解化疗副作用:从药物到饮食全方位解决方案
探索Minecraft的无限可能 —— EMI项目深度解析与应用推荐
中国古诗赋中的龙意象
职场获奖感言模板:从感谢到展望,三步打造走心发言
在职职工死亡抚恤金标准
事业单位退休人员抚恤金申领指南:领取抚恤金流程详解
2024年,丧葬费和抚恤金的发放标准是什么?总共能有几万元呢?
Ubuntu高效清理APT缓存,你学会了吗?
Ubuntu缓存清理指南:释放磁盘空间,提升系统性能
联合国儿基会呼吁:终结校园霸凌