gpt4 book ai didi

python - 有什么方法可以将一个图形渲染引擎(例如 fdp)用于节点坐标,而将另一个图形渲染引擎(例如 dot)用于边缘?

转载 作者:行者123 更新时间:2023-12-05 07:24:30 29 4
gpt4 key购买 nike

我注意到“fdp”正在为我尝试制作的图表生成具有非常好的节点布置的图表。然而,节点之间的边缘是直线,有时会与节点重叠。

我注意到“点”渲染引擎非常擅长防止边缘重叠,直到它别无选择,甚至可以通过仅在方向不相似时优先交叉来区分边缘,这样它们就可以很容易地识别出来。

我想使用 fdp 生成我的图形的节点坐标,然后使用 dot 来执行其余的工作。我希望那里有一个规范的或至少是现有的解决方案。

如果这不可能,我也想知道为什么。

最佳答案

您不能分别对节点和边使用不同的渲染引擎。但是你的问题还是有解决办法的:

Graphviz 中的每种图形类型都有一个特殊属性:splines .您可以在文件中设置 splines=curvedsplines=polyline,这样 fdp 就会使用它们并尽量避免烦人的重叠。

graph {
splines=polyline;
a -- b;
b -- c;
a -- c;
d -- c;
e -- c;
e -- a;
}

附言许多布局同时使用节点和边缘信息来计算节点位置和边缘形状,因此它们按原样使用。这是非常罕见的情况,当有人需要一种算法用于节点而另一种算法用于边缘时,没有人实现它。也许有一些肮脏的黑客是可能的,但无论如何都不应该使用它。

关于python - 有什么方法可以将一个图形渲染引擎(例如 fdp)用于节点坐标,而将另一个图形渲染引擎(例如 dot)用于边缘?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55396734/

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