(113条消息) 进阶版Venn plot:Upset plot入门实战代码详解——UpSetR包介绍_ntuYision的博客-CSDN博客_upsetr
集合数<5使用Venn plot更加清晰。
集合数>5使用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"
当我对两个数组进行交集时,是否可以保证生成的顺序基于第一个数组的顺序?例如,如果我有a=[1,2,3]b=[3,2,1]可以a&b返回[3,2,1],而不是[1,2,3](这是什么我希望)?我在RDoc或Pickaxe的Array文档中找不到任何直接解决这个问题的内容。RubySpec有一个规范,它createsanarraywithelementsinordertheyarefirstencountered,但我是否应该假设YARVRuby会遵守该规范? 最佳答案 看起来这是一项有保证的功能。他们在revision39415中升级
两个包含对象的数组,在数组之间使用“&”时不会返回相交。请看下面的代码片段:ruby-1.9.2-p290:001>classAruby-1.9.2-p290:002?>includeComparableruby-1.9.2-p290:003?>attr_reader:keyruby-1.9.2-p290:004?>definitialize(key)ruby-1.9.2-p290:005?>@key=keyruby-1.9.2-p290:006?>endruby-1.9.2-p290:007?>defobjruby-1.9.2-p290:008?>@keyobj.keyruby-1.
我有数组(1和2)。我怎样才能从他们那里得到array3?array1=[2,2,2,2,3,3,4,5,6,7,8,9]array2=[2,2,2,3,4,4,4,4,8,8,0,0,0]array3=[2,2,2,3,4,8]array1&array2返回[2,3,4,8],但我需要保留重复项。 最佳答案 (array1&array2).flat_map{|n|[n]*[array1.count(n),array2.count(n)].min}#=>[2,2,2,3,4,8]步骤:a=array1&array2#=>[2,3,4
在ruby中,给定两个日期范围,我想要表示两个日期范围交集的范围,如果没有交集则为nil。例如:(Date.new(2011,1,1)..Date.new(2011,1,15))&(Date.new(2011,1,10)..Date.new(2011,2,15))=>Mon,10Jan2011..Sat,15Jan2011编辑:应该说我希望它也适用于DateTime,因此间隔可以减少到分钟和秒:(DateTime.new(2011,1,1,22,45)..Date.new(2011,2,15))&(Date.new(2011,1,1)..Date.new(2011,2,15))=>
关注公众号,发现CV技术之美最近在学习open3d的相关应用,然后遇到了一个很有趣的问题。给定多个mesh,我们可能会需要把他们全部合并到一个文件并使用。但是这并不好实现,因为open3d自己不支持这样的操作。相比之下,其他一些集成度非常高的软件,是可以实现这样的操作的,例如meshlab通过交互栏中的“flattenvisiblelayer”指令来实现。唯一的缺点是,你每次都需要手动操作才行,这对于需要高度自动化的使用场景,就不是很合适了。因此,如何可以实现一个自动化的脚本,支持直接合并多个可染色的mesh,并输出带有纹理的最终结果,是一个非常重要的功能。遗憾的是度娘和谷歌目前没有相关的教程
我有两个哈希:hash1={1=>"a",2=>"b",3=>"c",4=>"d"}hash2={3=>"hello",4=>"world",5=>"welcome"}我需要一个散列,它包含两个散列中的公共(public)键:hash3={3=>"hello",4=>"world"}是否可以不用任何循环来实现? 最佳答案 hash3=hash1.keep_if{|k,v|hash2.key?k}这不会与问题中的代码产生相同的效果,而是会返回:hash3#=>{3=>"c",4=>"d"}散列的顺序在这里很重要。这些值将始终取自#ke
我正在尝试查找多个数组之间的交集值。例如code1=[1,2,3]code2=[2,3,4]code3=[0,2,6]所以结果是2我知道在PHP中你可以用array_intersect做到这一点我希望能够轻松添加额外的数组,所以我真的不想使用多个循环有什么想法吗?谢谢,亚历克斯 最佳答案 使用&Array的方法用于设置交集。例如:>[1,2,3]&[2,3,4]&[0,2,6]=>[2] 关于ruby-on-rails-rails-查找多个数组之间的交集,我们在StackOverflow
我想为名为Multiset的类创建不同的方法.我拥有所有必需的方法,但我不确定如何编写交集、联合和子集方法。对于交集和并集,我的代码是这样开始的:defintersect(var)x=Multiset.newend这是一个例子:X=[1,1,2,4]Y=[1,2,2,2]那么X和Y的交集就是[1,2]。 最佳答案 我假设X和Y是数组?如果是这样,有一种非常简单的方法可以做到这一点:x=[1,1,2,4]y=[1,2,2,2]#intersectionx&y#=>[1,2]#unionx|y#=>[1,2,4]#differencex
给定N个排序的整数数组(无重复项),我想计算它们交集中的第一个limit个整数。例如,给定以下数组:[2,5,7,8,10,12,13,15,20,24][3,4,5,6,9,10,11,17,20][1,2,3,5,6,10,12,20,23,29]交集是[5,10,20],所以如果limit=2,结果应该是[5,10].给定的数组不应该被改变。我的尝试如下。Playgroundhere.是否有更有效(更快)的方法来实现这一点?将不胜感激jsperf比较。functionintersection(sortedArrays,limit){vararraysCount=sortedArr
一、鼠标点击添加样式(一)案例描述鼠标点击li,添加盒子阴影。(二)案例效果演示(三)代码:引入jq文件:scriptsrc="http://code.jquery.com/jquery-latest.js">script>css代码:ulli{margin-bottom:10px;padding:10px;width:400px;border-radius:10px;}html代码:ul>li>我们好像在池塘的水底。从一个月亮走向另一个月亮。li>li>我们好像在池塘的水底。从一个月亮走向另一个月亮。li>li>我们好像在池塘的水底。从一个月亮走向另一个月亮。li>li>我们好像在池塘的水底