假设我有一个有向图 G,其中每个节点代表我拥有的一些集合。有一条从 u 到 v 的边当且仅当 u 是 v 的一个子集。这个图是传递的和无环的。有许多源节点(不包含任何其他节点的节点)和一个接收器(一个包含所有其他节点的大“逆”集。)。换句话说,该图是可比图的传递方向。
我想知道的是,我可以从这个图中自动生成一个漂亮的欧拉图吗?
欧拉图类似于维恩图,但您不必显示集合之间重叠的每个组合。
一个例子是这样的(取自维基百科):
我确信我可以手工制作这样的图表,但我正在处理我将不断添加的大型数据集,所以我想自动化这个过程。请注意,图表的相对大小对我来说并不重要,重要的是两个区域是否重叠,是否互斥,或者一个区域是否包含在另一个区域中。
是否有允许我这样做的算法、工具或库?
请注意,我在这里问了一个类似的问题,但我的大部分回答都是 LaTeX 根本不是这项工作的正确工具。因此,我在这里问它。