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
听起来像你应该向Graphviz维护者报告? – 2010-04-13 11:09:56
如果不是程序员相关的问题,我肯定会这样做。 – lbedogni 2010-04-13 11:12:36
您是否尝试过构建点文件并使用(命令行)dotty处理它?这是否也segphault? – extraneon 2010-04-13 11:13:18