Upset plot多组取交集

2022-05-07  本文已影响0人  一只小脑斧

(113条消息) 进阶版Venn plot:Upset plot入门实战代码详解——UpSetR包介绍_ntuYision的博客-CSDN博客_upsetr

集合数<5使用Venn plot更加清晰。

集合数>5使用Upset plot更加清晰。

Upset plot

熟悉Venn plot的朋友只需稍作变换即可很好地理解Upset plot。

Fig.2是一个简单的Upset plot,图像可以分为上部分(条形图)下部分(左侧的条形图,中间的集合名称和右侧的点阵)

左下方的横行条形图展示了每个集合的元素数(此处元素数由input文件直接得到),

左中方的集合名称由input文件中命名的集合名得到

左下方的点阵应与上方的条形图一起解读。有颜色的点代表涉及到相关集合,即有颜色的点对应的左中的集合一起取交集。

红点为例,代表Drama与Drama集合取交集,即自身取交集

蓝点代表Action集合与Drama取交集,对应的条形图数值为68,即有68个元素既在Action中又在Drama中。以此类推便可理解黄点。

上方的条形图代表着每个交集对应的元素数。

参数

https://zhuanlan.zhihu.com/p/370210775

order.by = "freq"#按频率排序,默认是升序,可以使用 decreasing = TRUE 让其降序排列

nsets = 6 将集合范围限制在最大的 6 个集合

number.angles 来设置柱状图柱子上方数字的倾斜角度;

使用 point.size line.size 来设置矩阵点图中点和线的大小;

mainbar.y.label sets.x.label 可以设置柱状图和条形图的轴标签;

text.scale 包含 6 个值,用于指定图上所有文本标签的大小。参数值的顺序为:柱状图的轴标签和刻度,条形图的轴标签和刻度,集合名称,柱子上方表示交集大小的数值

mb.ratio 用于控制上下图形所占比例

empty.intersections = "on" 想要显示交集为空的组合,可以设置 empty.intersections 参数

指定需要展示的集合

upset(movies,

     int c("Action", "Comedy", "Drama",

              "Mystery", "Thriller", "Romance", "War"),

      mb.ratio = c(0.55, 0.45)

      )

想要让集合按照 sets 参数中指定的出现的顺序排列,可以设置 keep.order = TRUE

颜色

matrix.color  Color of the intersection points

main.bar.color  Color of the main bar plot

sets.bar.color Color of set size bar plot

shade.color Color of row shading in matrix

"Normal"="lightblue", "Obesity"="#jiao"

上一篇下一篇

猜你喜欢

热点阅读