gpt4 book ai didi

graphviz - 使用 Graphviz 绘制小型平面图

转载 作者:行者123 更新时间:2023-12-04 03:09:19 26 4
gpt4 key购买 nike

我画了一个small planar graph使用 Graphviz,但在一个地方有两条边的交点。我读到 SO 并非所有平面图都可以在没有交叉点的情况下绘制,因为这是一个 NP 难题。我还读到在 Graphviz 中甚至没有实现复杂的算法来做到这一点。但是这个交叉路口尽可能容易修复,所以可能有办法摆脱它。

以下是我使用的选项:

overlap = false;
splines = curved;
nodesep = 0.5;

这是图表: planar graph

那么,有没有一种方法可以像我一样在不改变边顺序的情况下修复那个交叉点(25-38 和 7-18)here ?难道没有至少 O(n^2) 的算法可以交换两个顶点并检查交点是否消失了?

最佳答案

这是一种修补程序:

在节点7和25之间添加一条不可见的边,即7 -- 25 [style="invis"];。此子句可以添加到图形定义的末尾,因此它不应干扰任何自动生成。

这感觉像是作弊,但是,至少图定义文件中有效负载边的顺序保持不变。

不幸的是,我无法解释为什么这有效。特别是,在与违规边相关的其他节点之间添加边不会产生预期的结果。

Graphviz 版本:2.38.0 (20140413.2041)

关于graphviz - 使用 Graphviz 绘制小型平面图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46549101/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com