Upset图(UpSet plot)是一种可视化方法,用于展示集合(sets)之间的交集关系,特别适合于高维度数据中多重集合交集的可视化。它是传统Venn图和集合图的替代方案,特别在集合数量较多或交集较复杂时,更加清晰和实用。Upset图的应用广泛,常见于生物信息学、统计学、数据科学等领域。
读入文件
mydata<-read.table("Venn1.txt",header=T,fill=T,check.names=FALSE,row.names = 1,na.strings="")
mydata <- mydata[rowSums(mydata) != 0, ]
tail(mydata)
文件格式
all_deg_id CK_vs_A CK_vs_B CK_vs_C CK_vs_D CK_vs_E
ENSRNA049471043 1 1 0 0 1
ENSRNA049471090 1 0 0 0 0
ENSRNA049471102 1 1 0 0 0
ENSRNA049471535 1 0 1 1 0
ENSRNA049473455 1 0 0 0 0
ENSRNA049475677 1 1 0 0 0
ENSRNA049476201 1 0 1 1 1
绘图
upset(mydata,
nsets = 10, #可视化数据集数量
nintersects= 60, #显示前多少个交集
main.bar.color = '#6778AE', #柱状图颜色
matrix.color="black", #集合点的颜色
sets.bar.color= "#F3B1A0", #条形图条形的颜色
set_size.show = F, #是否在条形图上显示集合大小
shade.color = "#53A85F",#矩阵点图阴影的颜色
mb.ratio = c(0.5, 0.5), #矩阵图与主柱图之比
queries = list(list(query = intersects,
params = list("CK_vs_A","CK_vs_B"),
active = T,color="#B53E2B"),
list(query = intersects,
params = list("CK_vs_A"),
active = T,color="#B53E2B")
)
)
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!