2010-04-13 60 views
3

我正在构建一个包含许多节点的图形,大约为3000.我写了一个简单的python程序来处理graphviz的技巧,但它给了我分段错误,并且我不知道为什么,如果图形是太大或者我失去了一些东西。graphviz分段错误

的代码是:

#!/usr/bin/env python 

# Import graphviz 
import sys 
sys.path.append('..') 
sys.path.append('/usr/lib/graphviz') 
import gv 

# Import pygraph 
from pygraph.classes.graph import graph 
from pygraph.classes.digraph import digraph 
from pygraph.algorithms.searching import breadth_first_search 
from pygraph.readwrite.dot import write 

# Graph creation 
gr = graph() 

file = open('nodes.dat', 'r') 
line = file.readline() 
while line: 
     gr.add_nodes([line[0:-1]]) 
     line = file.readline() 

file.close() 
print 'nodes finished, beginning edges' 

edges = open('edges_ok.dat', 'r') 
edge = edges.readline() 
while edge: 
     gr.add_edge((edge.split()[0], edge.split()[1])) 
     edge = edges.readline() 

edges.close() 
print 'edges finished' 
print 'Drawing' 

# Draw as PNG 
dot = write(gr) 
gvv = gv.readstring(dot) 
gv.layout(gvv,'dot') 
gv.render(gvv,'svg','graph.svg') 

和崩溃的gv.layout()电话。

的文件是财产以后这样的: 节点:

node1 
    node2 
    node3 

edges_ok:

node1 node2 
    node2 node3 
+0

听起来像你应该向Graphviz维护者报告? – 2010-04-13 11:09:56

+0

如果不是程序员相关的问题,我肯定会这样做。 – lbedogni 2010-04-13 11:12:36

+0

您是否尝试过构建点文件并使用(命令行)dotty处理它?这是否也segphault? – extraneon 2010-04-13 11:13:18

回答

4

我改变从网点布局类型NEATO和解决的问题。

我搜索了一下,似乎点布局在大图上有点错误。