Graphviz和点以及具有数百个节点的图形。

Graphviz和点以及具有数百个节点的图形。,graphviz,dot,Graphviz,Dot,我有很多图形,我想用150到750个节点和大约3倍的边来渲染 这些图有一个时间成分,所以我一直(用较小的,比如说20个节点样本)使用rank same按天收集它们 dot在绘制这些较小的图形方面做得非常好。然而,似乎有一个点,事情变得非常非常缓慢,或者dot直接转储核心并说“前进” sfdp和neato将呈现这些图形,但它们是一团混乱,而事实上,我知道它们可以呈现成一个漂亮的流程图 有什么建议吗?我如何才能得到点渲染这些,或找到另一个工具,可以做一个有向图?在这里是不是同样的等级杀了我 这是我当

我有很多图形,我想用150到750个节点和大约3倍的边来渲染

这些图有一个时间成分,所以我一直(用较小的,比如说20个节点样本)使用rank same按天收集它们

dot在绘制这些较小的图形方面做得非常好。然而,似乎有一个点,事情变得非常非常缓慢,或者dot直接转储核心并说“前进”

sfdp和neato将呈现这些图形,但它们是一团混乱,而事实上,我知道它们可以呈现成一个漂亮的流程图

有什么建议吗?我如何才能得到点渲染这些,或找到另一个工具,可以做一个有向图?在这里是不是同样的等级杀了我

这是我当前运行的示例输出,时间为20分钟,没有显示结束的迹象

network simplex:  188 nodes 487 edges maxiter=2147483647 balance=1
network simplex: 188 nodes 487 edges 0 iter 0.00 sec
Maxrank = 561, minrank = 0
mincross: pass 0 iter 0 trying 0 cur_cross 0 best_cross 0
mincross: pass 0 iter 0 trying 0 cur_cross 4084 best_cross 4084
mincross: pass 0 iter 1 trying 0 cur_cross 3308 best_cross 3308
mincross: pass 0 iter 2 trying 0 cur_cross 1552 best_cross 1552
mincross: pass 0 iter 3 trying 0 cur_cross 1409 best_cross 1409
mincross: pass 1 iter 0 trying 0 cur_cross 5183 best_cross 840
mincross: pass 1 iter 1 trying 1 cur_cross 4156 best_cross 840
mincross: pass 1 iter 2 trying 2 cur_cross 2003 best_cross 840
mincross: pass 1 iter 3 trying 3 cur_cross 1780 best_cross 840
mincross: pass 2 iter 0 trying 0 cur_cross 840 best_cross 840
mincross: pass 2 iter 1 trying 1 cur_cross 946 best_cross 840
mincross: pass 2 iter 2 trying 2 cur_cross 922 best_cross 840
mincross: pass 2 iter 3 trying 0 cur_cross 774 best_cross 774
mincross: pass 2 iter 4 trying 0 cur_cross 629 best_cross 629
mincross: pass 2 iter 5 trying 1 cur_cross 759 best_cross 629


。。。目前是321200,我建议不要使用rank=same,即使是“从小到中”的图,也可以称之为100多个节点

相反,我们在文件中对节点创建进行内部排序,以鼓励进行某种软排序,并使用源和汇尝试获得某种形状的顺序


有趣的是,似乎有相当多的原始研究有待于在算法方面进行,以布局和流动这些,因此,如果你是一名正在寻找论文的研究生,至少在过去10年中,这是一个没有受到太多关注的领域

我同意
rank=same
增加了一些限制,可能会阻止
dot
找到解决方案。如果图形文件中省略了
rank=same
,则
dot
是否呈现相同的图形?否则,您可能必须编辑您的问题,以包含
dot
无法渲染的最小文件,以便我们可以逐行查看潜在问题。当然,这可能是因为图形太复杂了,
dot
或者
dot
无法感知图形中的整体结构,从而产生良好的渲染效果。我一直在尝试减少
rank=same
语句的数量,这似乎加快了速度。似乎随着
rank=same
语句的数量,时间至少以n^2的顺序增长。文件最终还是呈现出来了;在v3 xeon上花了大约20分钟,使开罗崩溃:32k x 25k左右的图像。SVG渲染器工作正常,生成了一个带有一些问题的图形。我会继续试验,暂时不讨论这个问题,并报告结果。
mincross: pass 2 iter 19 trying 3 cur_cross 567 best_cross 438
mincross: pass 2 iter 20 trying 4 cur_cross 507 best_cross 438
network simplex:  135708 nodes 203040 edges maxiter=2147483647 balance=2  
network simplex: 100 200 300 400 500 600 700 800 900 1000   
network simplex: 1100 1200 1300 1400 1500 1600 1700 1800 1900 2000   
network simplex: 2100 2200 2300 2400 2500 2600 2700 2800 2900 3000   
network simplex: 3100 3200 3300 3400 3500 3600 3700 3800 3900 4000   
network simplex: 4100 4200 4300 4400 4500 4600 4700 4800 4900 5000   
network simplex: 5100 5200 5300 5400 5500 5600 5700 5800 5900 6000