我可以从包含图自动生成欧拉(维恩)图吗

jmi*_*ite 5 diagram 2d data-visualization graph venn-diagram

假设我有一个有向图 G,其中每个节点代表我拥有的某个集合。从 u 到 v 存在一条边,当且仅当 u 是 v 的子集。该图是传递且非循环的。有许多源节点(不包含任何其他节点的节点)和一个接收器(一个包含所有其他节点的并集的大“宇宙”集)。换句话说,该图是可比的传递方向。

我想知道的是,我可以从这个图自动生成一个漂亮的欧拉图吗?

欧拉类似于维恩图,但您不必显示集合之间重叠的每种组合。

一个例子是这样的(摘自维基百科):

在此输入图像描述

我确信我可以手工制作这样的图表,但我正在处理大量数据集,我将不断添加这些数据集,所以我想自动化该过程。请注意,图表的相对大小对我来说并不重要,重要的是两个区域是否重叠、互斥或者一个区域是否包含在另一个区域中。

是否有算法、工具或库可以让我做到这一点?

请注意,我在这里问过类似的问题,但我的大部分回答都是 LaTeX 根本不是适合这项工作的工具。因此,我在这里问。

Tho*_*oub 0

您可能会在这里找到您的解决方案:SageMath。这是一个非常强大的数学引擎,可以让你绘制很多图表。