Graph 我可以从包容图自动生成Euler(Venn)图吗

Graph 我可以从包容图自动生成Euler(Venn)图吗,graph,2d,data-visualization,diagram,venn-diagram,Graph,2d,Data Visualization,Diagram,Venn Diagram,假设我有一个有向图G,其中每个节点代表我得到的一些集合。 如果u是v的子集,则从u到v有一条边。 这个图是传递的和非循环的。有许多源节点(不包含任何其他节点的节点)和一个接收器(包含所有其他节点的并集的大“unverse”集)。 换句话说,这个图是一个对象的传递方向 我想知道的是,我能从这个图自动生成一个好看的欧拉图吗 a类似于维恩图,但不必显示集合之间重叠的每个组合 例如(摘自维基百科): 我相信我可以手工绘制这样的图表,但我处理的是大型数据集 我会不断地添加,所以我想自动化这个过程。 请注

假设我有一个有向图G,其中每个节点代表我得到的一些集合。 如果u是v的子集,则从u到v有一条边。 这个图是传递的和非循环的。有许多源节点(不包含任何其他节点的节点)和一个接收器(包含所有其他节点的并集的大“unverse”集)。 换句话说,这个图是一个对象的传递方向

我想知道的是,我能从这个图自动生成一个好看的欧拉图吗

a类似于维恩图,但不必显示集合之间重叠的每个组合

例如(摘自维基百科):

我相信我可以手工绘制这样的图表,但我处理的是大型数据集 我会不断地添加,所以我想自动化这个过程。 请注意,图表的相对大小对我来说并不重要, 仅当两个区域重叠、相互排斥或一个区域包含在另一个区域中时

是否有算法、工具或库允许我这样做


请注意,我问了一个类似的问题,但我的大多数回答都是LaTeX根本不是这份工作的合适工具。因此,我在这里提问。

您可能会在这里找到您的解决方案:。这是一个非常强大的数学引擎,允许您绘制大量图表。

“Euler图表很难自动绘制,本项目的目标是生成第一种方法,以便很好地绘制所有Euler图表。”-来自,但有一些链接


除此之外,搜索
欧拉图生成
似乎会产生一些结果,如。但从这一点来看,它仍然是一个相当活跃的研究领域。

如果我理解正确,欧拉图本质上是一个不完整的维恩图。有些十字路口被认为不重要,被丢弃。你有没有一个标准来决定哪些十字路口不重要?否则,算法怎么会知道?我在想,除非另有规定,否则两个集合的交集将被假定为空的,空交集将在图表中被忽略。很酷的工具,关于如何使用它绘制欧拉图的任何想法或说明?不幸的是,我刚刚帮助实现了
LaTeX
支持的一部分,但您应该很快就能找到它!