可视化许多集合的交集

机器算法验证 数据可视化 数据集
2022-02-05 00:43:42

是否有一个可视化模型可以很好地显示许多集合的交叉重叠?

我在想像维恩图这样的东西,但不知何故,它可能更适合更大数量的集合,比如 10 个或更多。维基百科确实显示了一些更高的维恩图,但即使是 4 组图也有很多需要考虑的地方。

我对数据的最终结果的猜测是许多集合不会重叠,所以维恩图可能会很好——但我想找到一个能够生成它的计算机工具。它在我看来就像谷歌图表不允许那么多集。

3个回答

当您有大量集合时,我会尝试更线性的方法并直接显示链接(如网络图)。Flare 和 Protovis 都有处理这些可视化的实用程序。

有关以下示例,请参阅此问题

替代文字

这不会与@Shane 的答案竞争,因为圆形显示非常适合显示与高维数据集的复杂关系。

对于维恩图,我一直在使用venneuler R 包。与Journal of Statistical Software中描述的基本venn()功能相比,它具有简单而直观的界面,并可以生成漂亮的透明图表但是,它不能处理超过 3 个类别。另一个项目是eVenn,它处理K=4套。

最近,我遇到了一个处理高阶关系集的新包,并且可能允许重现 Wikipedia 或此网页上显示的一些维恩图,什么是维恩图?, 但也仅限于K=4套。它被称为 VennDiagram,但请参阅参考论文:VennDiagram: a package for generation of high-customizable Venn and Euler diagrams in R (Chen and Boutros, BMC Bioinformatics 2011, 12:35)。

如需进一步参考,您可能有兴趣

Kestler 等人,广义维恩图:一种可视化复杂遗传集关系的新方法,生物信息学,21(8),1592-1595 (2004)。

不过,维恩图有其局限性。在这方面,我喜欢 Robert Kosara 在Sightings: A Vennerable ChallengeParallel Sets中采用的方法(另请参阅Andrew Gelman 博客上的讨论)。

我们为集合交集开发了一种基于矩阵的方法,称为 UpSet,您可以在http://vcg.github.io/upset/上查看它这是一个例子:

心烦意乱的截图

左侧的矩阵标识了一行代表的交集,例如,这里的最后一行是“动作、冒险和儿童”电影类型的交集。右侧的条形显示交叉点的大小,在本例中为 4。

您还可以绘制交叉点的属性或其他选择等。查看网站了解详细信息。

现在还有一个 R 的静态版本,你可以在上面提到的网站上找到,或者去这里:https ://github.com/hms-dbmi/UpSetR/

可在http://www.cvast.tuwien.ac.at/SetViz获得关于集合可视化的最新报告——尽管其中大部分是学术性的,并且没有现成的代码。