Matplotlib Venn图,6个圆。

6

我可以使用matplotlib_venn绘制2个和3个圆圈。是否有可能绘制超过3个元素的Venn图表?

在我的案例中,我有6组数据,想要用6个圆圈绘制Venn图表。


2
如何通过相交6个圆来获得2^6 = 64个区域?这在拓扑学上是不可能的。 - Julien
理论上,除了圆形之外,您可以考虑其他形状,并以某种方式组织它们以显示相当数量的交点(我怀疑您可能无法完成所有63个,但也许您仍然可以得到其中很多)。然而,这并不是一种有意义的可视化手段。 - KT.
6个三角形的集合:http://www.combinatorics.org/Surveys/ds5/VennTriangleEJC.html,7个任意形状的集合(但交集面积近似恒定):http://moebio.com/research/sevensets/。当然,在这些情况下,区域是固定的。 - rwst
2个回答

2

我不这样认为。matplotlib-venn文档中写到:

该包提供了四个主要函数:venn2、venn2_circles、venn3和venn3_circles。

venn2用于“绘制两个圆的维恩图”,而venn3用于“绘制三个圆的面积加权维恩图”。


1
是的,目前该库仅支持最多3个圆。我计划在某个时候添加4个椭圆非加权图 [我是该库的开发者],但6个超出了可预见的范围。请注意,6个区域图需要显示63个不同的交点,即使可以使用圆表示(这是不可能的),它也很可能根本不是一个有用的可视化工具 - 即使4个椭圆图已经看起来很压抑而且不具信息性。也许您应该考虑其他可视化选项。 - KT.
@KT:五是可能的,至少对于某些值而言:https://xkcd.com/2122/ 但我怀疑这是否可扩展到更多任意值... - Graipher

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接