Python 是否可以使用一个图形渲染引擎(例如fdp)作为节点坐标,使用另一个图形渲染引擎(例如dot)作为边?
我注意到“fdp”正在生成具有非常好的节点位置的图,用于我正在尝试制作的图。但是,节点之间的边是直线,有时与节点重叠 我注意到“点”渲染引擎非常擅长防止边缘重叠,直到它没有选择为止,甚至可以通过仅在方向不相似时对交叉进行优先级排序来区分边缘,以便轻松识别它们 我想使用fdp生成图形的节点坐标,然后使用dot来执行其余的工作。我希望有一个规范的或者至少是现有的解决方案Python 是否可以使用一个图形渲染引擎(例如fdp)作为节点坐标,使用另一个图形渲染引擎(例如dot)作为边?,python,graphviz,dot,Python,Graphviz,Dot,我注意到“fdp”正在生成具有非常好的节点位置的图,用于我正在尝试制作的图。但是,节点之间的边是直线,有时与节点重叠 我注意到“点”渲染引擎非常擅长防止边缘重叠,直到它没有选择为止,甚至可以通过仅在方向不相似时对交叉进行优先级排序来区分边缘,以便轻松识别它们 我想使用fdp生成图形的节点坐标,然后使用dot来执行其余的工作。我希望有一个规范的或者至少是现有的解决方案 如果这是不可能的,我也想知道为什么。不能对节点和边分别使用不同的渲染引擎。但你的问题还有一个解决办法: Graphviz中的每个图
如果这是不可能的,我也想知道为什么。不能对节点和边分别使用不同的渲染引擎。但你的问题还有一个解决办法: Graphviz中的每个图形类型都有一个特殊属性:。您可以在文件中设置
spline=curve
或spline=polyline
,以便fdp
将使用它们,并尝试避免令人讨厌的重叠
graph {
splines=polyline;
a -- b;
b -- c;
a -- c;
d -- c;
e -- c;
e -- a;
}
另外,许多布局同时使用节点和边信息来计算节点位置和边形状,以便按原样使用。很少有人需要一种节点算法和另一种边算法,因此没有人实现它。也许这是可能的一些肮脏的黑客,但它不应该被使用无论如何